关于Vue父子组件传值(复杂数据类型的值)的细节点
程序员文章站
2022-08-03 19:20:51
vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean, 当父组件值被修改时,子组件能够实时的作出改变。 如果父子传值的类型是复杂数据类型(object,array)这种时, 1.通常的做法是在子组件监听props属性 细节点:这里监 ......
vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean,
当父组件值被修改时,子组件能够实时的作出改变。
如果父子传值的类型是复杂数据类型(object,array)这种时,
1.通常的做法是在子组件监听props属性
<!--父组件--> <div class="parent"> <!--子组件--> <child :val="val"></child> </div> <script> export default { data(){ return { val:{ name:'name', age:'18' } }
} } </script>
<! 子组件监听props> <div class="child"> {{val.name +":"+ val.age}} </div> <script> export default { props:'val', data(){ return {}}, watch:{ val:{ handle(newval){ console.log(newval) }, deep:true } } } </script>
细节点:这里监听到父组件的值被修改时,不要在回调里再对此值做修改操作,否则提示报错,并进入死循环导致浏览器gg
2.还有一种做法是在父组件修改,避免进坑
官方文档有说明https://cn.vuejs.org/v2/guide/list.html#%e6%95%b0%e7%bb%84%e6%9b%b4%e6%96%b0%e6%a3%80%e6%b5%8b
本人除了做前端开发,还在公众号写点文章,欢迎用共同兴趣爱好的朋友关注下,交个朋友噢!
上一篇: 正确饮食很重要!产妇坐月子吃芹菜吗?
下一篇: 函数名的第一类对象及使用