進行數據監聽
數據每次變化就初始化一次子組件,進行調取達到傳遞動態數據的目的
普通的監聽:
watch:{
data: function(newValue,oldValue){
doSomeThing();
}
}
如果你要傳遞的不是單條數據,而是一個對象,可以使用同類深度監聽
記住,一定不要忘記咱們的主角deep,深度監聽deep的值要設為true哦
watch:{
'data':{
handler:function(newValue,oldValue){
doSomeThing();
},
deep:true
}
}
若是監聽數組,數組內有任何值發生變化,都會成功觸發被監聽的數組對象內的函數 doSomeThing();
此時你可以在函數doSomeThing中執行你想執行的事件
當然,如果你的深度監聽像我的一樣,只是為了方便父組件給子組件傳值,那么有另外一個方法可以實現這個功能,且簡單
XX.sync

確實簡單易用
同樣是從父組件傳值給子組件,深度監聽的方法是通過監聽到數值的變化,從而調用子組件的方法,把最新的數值傳過去
而.sync 則是將數據進行雙向綁定
<div>
<child :data.sync="datalist"></child>
</div>
只要在data的后面加上.sync就可以實現動態數據傳遞了
