当我声明使用匿名函数时,我收到工厂的未知提供程序错误(注入(inject)器):
(function () {
'use strict';
angular.module('app').factory('errorCodeFactory', errorCodeFactory);
function errorCodeFactory() {
var factory = {
getMessage: getMessage
};
return factory;
function getMessage(errorObject) {
return "hi";
};
};
});
如果我声明时没有将其包装在函数中,则它可以工作:
angular.module('app').factory('errorCodeFactory', function() {
var factory = {};
factory.getMessage = function (errorObject) {
return "hi";
};
return factory;
});
不知道为什么第一个例子不起作用,但第二个例子却起作用。我还有其他工厂使用与第一个示例相同的方法并且它们有效。我一定错过了什么。
最佳答案
问题是包装函数末尾缺少一组括号
作品:
(function () {
})();
不起作用:
(function () {
});
关于javascript - Angular 未知提供者,其工厂封装在匿名函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35977183/