为了账号安全,请及时绑定邮箱和手机立即绑定

vue 多条动态点赞 (子组件修改父组件值)

/ 猿问

vue 多条动态点赞 (子组件修改父组件值)

慕容708150 2019-02-06 13:26:57

有一个动态文章数组posts_list, 数组每一项都有点赞状态,和点赞数量。 我需要把点赞单独封装出来,点赞时会修改 状态和数量。子组件不能直接修改父组件的值,如果用自定义事件发布订阅会很麻烦。我需要知道点赞的是数组哪一项,然后再在父组件里修改。有其他比较好的方法吗?

查看完整描述

1 回答

?
拉风的咖菲猫
  • 父组件传入id(props)

  • 子组件触发点赞事件(@click)后,给父组件激活一个事件:

    this.$emit('like', {id: this.id})
  • 父组件接受到子组件的事件(:like="onLike")后, 通过id找到列表中那一项

      const item = this.posts_list.find(item => item.id === id);  // 由于item是个对象引用,直接修改该对象的属性可以同时修改原对象的数据
      // do something..

大致的思路如上所示。


查看完整回答
反对 回复 2019-02-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信