我正在尝试以允许我运行函数的方式使用Factory,但是我似乎无法使其正常运行。
在我的控制器中,我想呼叫httpErrorHandler.statusHandlerFunction.errorCallback()
这是我的工厂:
.factory('httpErrorHandler', ["Restangular", "StorageService",
function (Restangular, StorageService) {
return statusHandlerFunction = function errorCallback() {
return alert("Oops error from server :(");
}
}]);
我得到错误:
TypeError:无法读取未定义的属性
errorCallback
我也尝试过:
.factory('httpErrorHandler', ["Restangular", "StorageService",
function (Restangular, StorageService) {
return function errorCallback() {
return alert("Oops error from server :(");
}
}]);
但是get:undefined不是一个函数
更新
感谢您的回答。最终帮助了我很多:
.factory('httpErrorHandler', function (Restangular, StorageService) {
return {
errorCallback: function () {
return alert("Oops error from server :(");
}
};
})
最佳答案
您的对象表示法有问题。尝试这个:
.factory('httpErrorHandler', ["Restangular", "StorageService",
function (Restangular, StorageService) {
var factory = {
statusHandlerFunction: {
errorCallback: function () {
return alert("Oops error from server :(");
}
}
}
return factory;
}]);