!vue基础-子组件 通过 $emit 给父组件传值(!)

把子组件中 复选框的选择状态 传给 父组件


子组件 向 父组件 传递值:在子组件中 先拿到这个值,然后 用$emit 触发自定义事件,然后在父组件中 监听这个事件,并且 定义这个事件函数 拿到传来的值

原理:

!vue基础-子组件 通过 $emit 给父组件传值(!)_第1张图片

子组件:

1、子组件 在选框所在的input框里 加事件

!vue基础-子组件 通过 $emit 给父组件传值(!)_第2张图片

 2、在methods里 定义这个 事件方法,使用e.target  把勾选的状态值 拿到,

然后使用this.$emit(),把id 状态值 传给父组件!vue基础-子组件 通过 $emit 给父组件传值(!)_第3张图片

父组件:

1、在引入的子组件里 加入 子组件定义的 事件方法

 !vue基础-子组件 通过 $emit 给父组件传值(!)_第4张图片

! 2、父组件 在事件方法里,从存储数据的list数组中使用some 找到对应的id,如果e.id 即子组件 传的value值的id 等于 父组件中 对应值的id,就把 子组件 传的value值 给组组件 对应的值,即换 最新值

!vue基础-子组件 通过 $emit 给父组件传值(!)_第5张图片

 !vue基础-子组件 通过 $emit 给父组件传值(!)_第6张图片

 !vue基础-子组件 通过 $emit 给父组件传值(!)_第7张图片


 

你可能感兴趣的:(vue.js,前端,javascript)