vue父组件变量传递子组件_vue 父组件通过v-on监听子组件$emit的事件,如何同时接受子组件的值并传入当前组件的参数?...

问题:

1 子组件通过

this.$emit('ok', newValue)

方法向父组件传递新的值

2 父组件需要通过index知道是改变的list中哪一个的值

3.该子组件用在了很多地方,内部逻辑改变的话会比较麻烦

所以,setData 方法newValue和index都是需要的。

补充问题:

父组件list.splice(2, 1),删除了一个子组件,但是该子组件不是第二个而是最后一个,请问该怎么解决呢?

尝试解决:

<child @ok="setData" :options="item.option"></child>

传递不了index

<child @ok="setData(index)" :options="item.option"></child>

传递不了newValue

请教各位大佬,怎么做才能实现传递两个值,或者实现类似的功能?

父组件:

<div v-for="(item, index) in list">

<input type="text" v-model="item.data">

<child @ok="setData" :options="item.option"></child>

</div>

data () {

return {

list: [

{data:'123', option: {...}},

{data:'456', option: {...}},

{data:'789', option: {...}}

]

}

}

methods: {

setData(newValue, index) {

this.list[index] = newValue

}

}

子组件:

<div>...</div>

methods: {

ok (newValue) {

this.$emit('ok', newValue)

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值