回答
經上所記,你的功能不勢必任何特定的語境,所以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. 如何在此代碼中使用HostingEnvironment.MapPath()
- 4. 使用此懸停功能> find
- 5. 通過使用此代碼在viewDidLoad中的代碼
- 6. 無法使用此代碼在強烈簽署的Silverlight代碼
- 7. 如何在ruby代碼中使用find,-exec和cp命令?
- 8. 此代碼是否可用?使用Javascript/asp.net(代碼不工作)
- 9. 如何使用此動畫代碼?
- 10. 如何使用此代碼執行@ Html.DropDownListFor?
- 11. 如何使用haml編寫此代碼
- 12. 如何使用Typescript簡化此代碼?
- 13. 如何使用此代碼實現globalToLocal?
- 14. PHP代碼:使用此關鍵字
- 15. 如何使用mysqli編寫此代碼?
- 16. 使用循環縮短此代碼(javascript)
- 17. 如何使用此Ftp代碼
- 18. 如何使用RSpec測試此代碼?
- 19. 如何使此代碼更通用
- 20. 如何使此代碼通用
- 21. 使用%模數理解此Javascript代碼
- 22. 如何使用此複製代碼
- 23. 請解釋此代碼使用std :: ignore
- 24. 如何使用SENDER優化此代碼?
- 25. 此代碼使用的語言
- 26. 爲什麼不能使用此代碼?
- 27. 如何使用SubSonic編寫此代碼?
- 28. 如何使用此Ruby代碼?
- 29. 智者使用此代碼迴路
- 30. 使用vue.js
findStart是Vue的一種方法嗎? Vue的瓷磚和房間數據屬性? – Bert
是的,findStart是一種方法。瓷磚和房間是數據屬性。 –
所以事實證明,找到方法不是問題。在裝載我運行一個函數,指定this.room.startX = this.getRandom(0,1000);如果我評論這項任務,那麼這個發現完美無缺。那麼this.room.startX實際上被定義爲函數getRandom()?如果是這樣,爲什麼typeOf(this.room.startX)顯示爲「數字」? –