我在这里关注google chrome的扩展程序开发指南: http://developer.chrome.com/extensions/getstarted.html
在此档案的第41行:http://sprunge.us/NFjZ
requestKittens: function() {
var req = new XMLHttpRequest();
req.open("GET", this.searchOnFlickr_, true);
req.onload = this.showPhotos_.bind(this);
req.send(null);
},
,他们使用像这样的绑定功能 this.showPhotos_.bind(本);如果没有此绑定,示例扩展将不起作用。我在showPhotos_方法中测试并验证“this”只是kittenGenerator对象。由于showPhotos_只是该对象的一种方法,因此应该隐式完成,所以为什么这种绑定必要呢?
请注意,由于popup.js文件中存在拼写错误,因此google的示例无效。 要更正它,请将“kittensOnFlickr_”更改为“searchOnFlickr _”。
答案 0 :(得分:4)
从req.onload调用时没有绑定showPhotos_
,this
将req
而不是kittenGenerator
。