vue外部点击添加数组

vue新手,现在遇到一个问题,我想在v-for外面用@click点击把某个数组添加进某个容器里,但是发现这样的话就找不到v-for的遍历了,我平时添加数组都是在v-for里面添加点击事件然后把其他数组添加进来的

阅读 4.4k
4 个回答

不是很明白,你要做什么,把item关联到v-for的item里, 既然只是把左边的数组,添加到右边,直接将tabBox追加到formTab不就行了吗?this.formTab = this.formTab.concat(this.tabBox)

affirm都没有item参数..肯定报错啊.
而且v-for跟onclick不冲突

可以在外面用一个变量接一下

首先看下报错 第一个报错说你的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
      }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题