我正在學習angularjs,我一直注意到什麼時候聲明瞭一個函數,大多數人通常在修改它之前將「this」變成一個var。這是爲什麼?AngularJs服務功能 - 這()
代碼下面片段:
function NameService() {
var self = this; **THIS BLOCK. WHY??**
//getName returns a promise which when
//fulfilled returns the name.
self.getName = function() {
return $http.get('/api/my/name');
};
}
並在底部,該示例使用self.getName。爲什麼不直接調用this.getName?
謝謝
這是一種保持正確'this'值並避免混淆的方法。假設你想從一個AJAX調用的成功函數中運行一個方法,你會使用'self'而不是'this',因爲這並不意味着你的意思 –
謝謝。這對於這些回覆的速度來說非常有意義並且令人印象深刻:) –