vue怎么实现事件委托的效果

新手上路,请多包涵

在vue里面怎么去实现js的事件委托的效果
clipboard.png
这个p事件是不起作用的

阅读 3.6k
3 个回答

你可以换一种写法 你这种写法就是JQ思想的DOM式 写法
<p v-if="isshow" style="" @click="p"></p>

点击的时候只需要改变isshow就可以实现你要的效果了

你这里显然是个列表,那么只需要维护一个数组即可,大概思路:

export default {
  data () {
    return {
      dataList: []
    }
  }
  methods: {
    add (item) {
      this.dataList.push(item)
    },
    p (item) {
      console.log(item.id + ' is clicked.')
    }
  }
}
<div class="vv">
  <p v-for="item in dataList" key="item.id" @click="p(item)" .....>
</div>
<div class="vv">
    <p v-for="n in pCount" @click="p(n)" style=""></p>
</div>
data:{
pCount: 0
},
methods:{
    add(){
        this.pCount++
    },
    p(n){
        console.log(n)
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题