如何仅针对v-for循环中的单击项触发元素可见性?

时间:2018-03-31 15:05:47

标签: vue.js vuejs2

如何让每个元素内的每个按钮仅触发所点击项目的隐藏菜单,而不是全部?

<div v-for="(i, index) in 3">
  <v-btn @click="clicked = !clicked">Menu</v-btn>
  <p v-show="clicked">hidden menu</p>
</div>

...

data () {
  return {
    clicked: false
  }
}

Codepen: https://codepen.io/anon/pen/wmjKXB?editors=1010

最好的方法是什么?我一直在寻找答案但却找不到任何答案。

1 个答案:

答案 0 :(得分:2)

使用对象数组并使用与按钮对应的数组索引切换每个对象。

new Vue({
  el: '#app',
     data () {
       return {
         clicked:[{ show:true}, { show:true}, { show:true}]
       }
     }
})

Here's a simple example