进行数据监听
数据每次变化就初始化一次子组件,进行调取达到传递动态数据的目的
普通的监听:
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就可以实现动态数据传递了