進行數據監聽
數據每次變化就初始化一次子組件,進行調取達到傳遞動態數據的目的
普通的監聽:
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就可以實現動態數據傳遞了