为了账号安全,请及时绑定邮箱和手机立即绑定

Vue 子组件的 updated 事件触发后,为什么父组件的 updated 事件不触发呢?

Vue 子组件的 updated 事件触发后,为什么父组件的 updated 事件不触发呢?

人到中年有点甜 2019-03-14 18:15:24
假设现在子组件只是一个按钮,按钮点击后会改变子组件的 data 数据。为什么这样子操作只会触发子组件的 updated 而不会触发父组件的 updated 呢?有没有什么方法是不修改子组件的情况下,在父组件捕获子组件的这种更新呢?<div id="app">  <abc></abc></div>Vue.component("abc",{    name:"abc",    template:`<div @click="add()">{{hi.a}}</div>`,    data(){        return{            hi:{a:"1"}        }    },    methods:{        add(){            this.hi.a = this.hi.a + "1";        }    },    updated(){        console.log("com-updated");    }});new Vue({  el: '#app',    updated(){        console.log("updated");    }})
查看完整描述

2 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

你改变子组件的数据是不会触发父组件的钩子的。Vue中的通信是单向的,父组件可以通过props来向子组件传递信息,也就是说子组件可以知道父组件的状态变化,而子组件的状态变化父组件是不知道的。
如果你想让子组件向父组件发送信息,可以通过onemit来指定和触发自定义事件来进行通信,或者也可以用vuex来实现这个功能。

查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 612 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号