在AngularJS服务中加载模块

JQu*_*ile 5 javascript angularjs

我正在学习AngularJS.目前,我正在尝试在我的服务中加载第三方模块.具体来说,我正在尝试加载angular-moment.我的服务定义如下:

myApp.factory('myService', ['angularMoment', function(angularMoment) {
  return {
    getLocale: function() {
      return angularMoment.locale();
    }
  }
}]);
Run Code Online (Sandbox Code Playgroud)

如果我angularMoment.locale()return 'someLocale';我的代码运行替换return .但是,一旦我参考angularMoment,我就会收到错误.我知道这与我没有正确加载模块的事实有关.但是,我不知道我做错了什么.我在运行单元测试时看到这个错误:

Error: [$injector:unpr] http://errors.angularjs.org/1.2.22/$injector/unpr?p0=angularMomentProvider%20%3C-%20angularMoment%20%3C-myService (line 36) (1)
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Jac*_* A. 0

声明模块时需要引用该angularMoment模块。否则将无法加载。这就是导致错误的原因$injector:unpr。所以你需要这样的东西:

var myApp = angular.module("myApp", ["angularMoment"]);
Run Code Online (Sandbox Code Playgroud)