最近在学vue,写了一个小的demo,遇到了一个奇怪的问题,

我在模拟一个购物车的场景,要实现一个全部选中、取消全部选中的效果,代码如下:

clipboard.png取消全部选中效果可以实现,但是就是全部选中的效果死活实现不了,我打印了一下发现,用Array.forEach遍历数组时,设置每一项active为true时,就是设置不了,后来我该用for循环就可以,怎么会有这种问题!

阅读 2.9k
3 个回答

clipboard.png
this的指向变了 不在指向vue实例了
可以采用箭头函数或者在外部申请个变量保存this

将vue实例this先赋值给另一个变量,例如_self

let _self = this;

之后使用_self访问vue实例。

value.active = _self.chooseAll;

this 指向的问题。如二楼,外部添加_self ,

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题