我使用的類的成員函數是AngularJS控制器: 注意:下面的代碼是從一些TypeScript代碼編譯的。AngularJS:當AngularJS控制器是類的成員函數時,'this'是什麼?
function Clazz(x) {
this.Member = x;
this.Func= function ($scope) {
$scope.message = '' + this.Member; // this.Member is undefined
}
}
app.controller('TaxCtrl', new Clazz('Hello').Func );
的Func
被稱爲當我切換到TaxCtrl
,但this
似乎不是的Clazz
的實例,因爲this.Member
永遠是不確定的。
所以角'new'內部控制?我認爲它只是稱爲控制器功能。 – Zach
我假設如此。您可以在函數中使用'this'來爲構建的控制器設置屬性。除非您使用事件或手動調用'$ apply'或'$ digest',否則實際上不需要作用域。 –