我正在学习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',因为这并不意味着你的意思 –
谢谢。这对于这些回复的速度来说非常有意义并且令人印象深刻:) –