vue新手,现在遇到一个问题,我想在v-for外面用@click点击把某个数组添加进某个容器里,但是发现这样的话就找不到v-for的遍历了,我平时添加数组都是在v-for里面添加点击事件然后把其他数组添加进来的
vue新手,现在遇到一个问题,我想在v-for外面用@click点击把某个数组添加进某个容器里,但是发现这样的话就找不到v-for的遍历了,我平时添加数组都是在v-for里面添加点击事件然后把其他数组添加进来的
首先看下报错 第一个报错说你的item是没有定义的,也就是说 @click="affirm(item)"中的item是没有定义的 v-for中item的作用域是这样的
<ul id="example-1">
<li v-for="item in items">
{{ item.message }}
</li>
</ul>
因为item没有定义,所以函数affirm中并没有接收到第二个参数 导致了报错
如果想要是实现左边的内容到右边的内容,建议将左边的内容存在data中,右边的值也与data中的数据绑定,通过数据的赋值来驱动页面上的显示
<Button @click="fGetRightDataFromLeft">阿斯蒂芬</Button>
<div>
<span v-for="left in leftArr">left</span>
</div>
<div>
<span v-for="right in rightArr">right</span>
</div>
data () {
return {
leftArr: ['123','123','123'],
rightArr: []
}
},
fGetRightDataFromLeft(){
this.rightArr = this.leftArr
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
不是很明白,你要做什么,把item关联到v-for的item里, 既然只是把左边的数组,添加到右边,直接将tabBox追加到formTab不就行了吗?this.formTab = this.formTab.concat(this.tabBox)