将元素推送到新数组onClick VueJS?

时间:2020-02-07 19:20:27

标签: javascript vue.js

我有一个数组,正在遍历并输出文本。我正在尝试创建一个onClick方法,通过该方法,无论我单击什么文本,它都会以单击它们的任何顺序被推送到新数组。

这是我的样本codepen

这是我的代码设置:-

<div id="app">
   <v-app>
     <div v-for= "(item,index) in items" :key="item">
       <span class="title" @click="onSelect">{{item.text}}</span>
    </div>
  </v-app>
</div>

这是脚本:-

new Vue({
  el: '#app',
   data() {
      return {
         items: [
             { text: 'foo', value: 'bar' },
             { text: 'bar', value: 'biz' },
             { text: 'buzz', value: 'buzz'}
         ]
      }
    },
 methods: {
   onSelect() {
     let arr = []   
     console.log(arr)   
    }
  }
})

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:3)

您可以将函数作为点击处理程序并传递以下项目:

<div id="app">
  <v-app>
    <div v-for="(item, index) in items" :key="item">
      <span class="title" @click="() => onSelect(item)">{{item.text}}</span>
    </div>
  </v-app>
</div>

然后可以将该项目推入数组:

new Vue({
  el: '#app',
  data() {
    return {
      items: [
        { text: 'foo', value: 'bar' },
        { text: 'bar', value: 'biz' },
        { text: 'buzz', value: 'buzz'}
      ],
      clickedItems: []
    }
  },
  methods: {
    onSelect(item) {
      this.clickedItems.push(item)
      console.log(this.clickedItems)
    }
  }
})

希望这会有所帮助。