我創建了一個AngularJS工廠,在該工廠中,我返回一個具有某些功能屬性的對象。我的目的是在使用這個關鍵字返回的函數中調用另一個函數中的某個函數,但它提供了一個錯誤。我試圖console.log 這個關鍵字,我發現,這個變量保存調用控制器的範圍,其中工廠正在被注入。我該如何處理這種情況。 這個關鍵字應該返回當前返回的對象!AngularJS工廠從返回對象訪問此方法
app.module('admin').factory('login', [function() {
return {
someFunc: function() {
return 'abc'
},
anotherFunc : function(){
var msg = this.someFunc();
return 'Msg is '+ msg;
},
yetAnotherFunc : function(){
var msg = this.someFunc();
return 'Msg is '+ msg;
}
}
}]).controller(['$scope', 'login', function($scope, login){
login.someFunc(); // Works Fine
login.anotherFunc(); // Error : this.someFunc is not a function
}])
不知道這是否是解決方案,但你有沒有試過將它綁定到它? –
您也可以在return語句之外定義函數。 –
綁定到它?如何 –