我用骨幹來測試一些東西,但我不知道爲什麼你畫我猜只是沒有顯示@@」爲什麼你畫我猜不工作
initialize: function() {
setInterval(function() {
//alert("Hello");
this.drawSomething();
}, 1000);
},
drawSomething: function() {
alert('hi');
},
我用骨幹來測試一些東西,但我不知道爲什麼你畫我猜只是沒有顯示@@」爲什麼你畫我猜不工作
initialize: function() {
setInterval(function() {
//alert("Hello");
this.drawSomething();
}, 1000);
},
drawSomething: function() {
alert('hi');
},
的問題是,裏面setInterval
回調背景下this
是不是你所期望的(這是全局對象window
)最簡單的解決方法是保存在變量正確的對象引用:
var self = this;
setInterval(function() {
//alert("Hello");
self.drawSomething();
}, 1000);
與您使用骨幹,所以可能你使用的強調過綁定應該幫助:
initialize: function() {
var foo = function() { this.drawSomething(); };
foo = _.bind(foo, this);
setInterval(foo, 1000);
}
或jQuery的模擬代理:
foo = $.proxy(foo, this);
爲迅速解決
initialize: function() {
setInterval(function() {
//alert("Hello");
this.drawSomething();
}.bind(this), 1000);
},
drawSomething: function() {
alert('hi');
},
但我寧願使用額外的變量dfsq methioned,因爲一些舊的瀏覽器不支持綁定