我正在学习AngularJS。目前,我正在尝试在我的服务中加载一个第三方模块。具体地说,我正在尝试加载angular-moment。我的服务定义如下:
myApp.factory('myService', ['angularMoment', function(angularMoment) {
return {
getLocale: function() {
return angularMoment.locale();
}
}
}]);如果我用return 'someLocale';替换return angularMoment.locale(),我的代码就会运行。然而,一旦我引用了angularMoment,我就得到了错误。我知道这与我没有正确加载模块有关。然而,我不知道我做错了什么。当我运行我的单元测试时,我看到了这个错误:
Error: [$injector:unpr] http://errors.angularjs.org/1.2.22/$injector/unpr?p0=angularMomentProvider%20%3C-%20angularMoment%20%3C-myService (line 36) (1)我做错了什么?
发布于 2014-08-19 02:46:11
在服务/因子注入器中尝试'moment‘而不是angularMoment。这将为您提供来自MomentJS的对象
myApp.factory('myService', ['moment', function(moment) {
return {
getLocale: function() {
return moment.locale();
}
}
}]);发布于 2014-08-19 02:41:09
在声明模块时,需要引用angularMoment模块。否则它不会被加载。这就是导致$injector:unpr错误的原因。所以你需要这样的东西:
var myApp = angular.module("myApp", ["angularMoment"]);发布于 2014-08-19 02:41:28
这听起来很基本,但是您在html代码中引用的是.js文件,对吗?
https://stackoverflow.com/questions/25369848
复制相似问题