Vue 子组件向父组件通信

108 阅读1分钟

数据流一般都是双向的 前边一篇介绍了在Vue中父组建如何向子组件传值 这里记录下子组件如何向父组件传值

  • 在子组件中的方法处理
// 在子组件中声明一个触发方法 
<button @click="sendValue">点我给父组件传值</button>
// 在methods 中实现响应方法 
methods: {
    sendValue() {
    //  核心代码  this.$emit   todo 表示 与父组件协商传值的方法名  ‘123’ 自己要传的值 可以是任意对象
        this.$emit("todo", "123");
    },
},

  • 在父组件中响应处理
// ‘sonpart’ 是我声明的子组件名称    @todo这里要跟子组件中的声明保持一直  responAction 父组件响应的方法 
<sonpart :title="title" @todo="responseAction"></sonpart>
···

* 在父组件的 响应方法中获取 子组件传递的值 
responseAction(value) {  // value 就是子组件传递过来的值
console.log("传递的值" + value);
// 父组件中对应的事件处理
  //this.list.push({ id: 1, name: value });
},

``

这样就实现了子组件向父组件的通信