回答
经上所记,你的功能不势必任何特定的语境,所以this
将参照window
对象,这是最顶部的上下文。
您应该使用Function.prototype.bind使您的功能绑定到您的特定上下文。
console.log(this.titles.find(this.findStart.bind(this)));
仍然返回undefined。下面是它在chrome devtools控制台中的样子: console.log($ vm.tiles.find($ vm.findStart.bind($ vm))); >未定义 也... $ vm.tiles >(8000)[对象,...,对象...] $ vm.room.startX > 610 $ vm.room.startY > 453 console.log($ vm.tiles.find(value => value.x == 2 && value.y == 2)); >对象... //正确回应 console.log($ vm.tiles.find(value => value.x == $ vm.room.startX && value.y == $ vm.room.startY)) > undefined –
对不起,我的评论格式很糟糕...... –
FWIW,Vue方法在实例化时绑定到Vue实例,所以这不会做任何事情。 – Bert
“这”函数内只拥有该函数中的代码,所以我假设你要拨打的房间变量,但在此之前,你必须绑定“这种”与拥有室内物体的 对象
顶层对象是Vue的实例,然后* .data.room 新的Vue({ EL: '#APP', 数据:{ 室:{ 数:20, STARTX:3, startY:3 }, –
- 1. 帮助使用此代码
- 2. 如何使用此代码
- 3. KVO使用此代码
- 4. 在此代码段中使用NSThread
- 5. 如何在此代码中使用“getCharSequence”?
- 6. 在此代码中使用约pygame.sprite.groupcollide
- 7. 如何在此代码中使用HostingEnvironment.MapPath()
- 8. 使用此悬停功能> find
- 9. 我需要使用此代码更改此搜索代码?
- 10. 无法使用此代码在强烈签署的Silverlight代码
- 11. 通过使用此代码在viewDidLoad中的代码
- 12. 如何使用此代码在tableview中使用搜索栏?
- 13. 使用vue.js
- 14. 使用vue.js
- 15. Vue.js使用json
- 16. 使用vue.js
- 17. 如何在ruby代码中使用find,-exec和cp命令?
- 18. 此代码是否可用?使用Javascript/asp.net(代码不工作)
- 19. 检查YouTube视频使用此代码
- 20. 使用此代码的对象?处理
- 21. 如何使用此代码执行@ Html.DropDownListFor?
- 22. 如何使用SubSonic编写此代码?
- 23. 如何使用haml编写此代码
- 24. 使用%模数理解此Javascript代码
- 25. 如何使用此复制代码
- 26. 为什么不能使用此代码?
- 27. 更改此代码,使用卷曲
- 28. 我不是通过使用此代码
- 29. 如何使用RSpec测试此代码?
- 30. 如何使用mysqli编写此代码?
findStart是Vue的一种方法吗? Vue的瓷砖和房间数据属性? – Bert
是的,findStart是一种方法。瓷砖和房间是数据属性。 –
所以事实证明,找到方法不是问题。在装载我运行一个函数,指定this.room.startX = this.getRandom(0,1000);如果我评论这项任务,那么这个发现完美无缺。那么this.room.startX实际上被定义为函数getRandom()?如果是这样,为什么typeOf(this.room.startX)显示为“数字”? –