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

myApp.factory('myService', ['angularMoment', function(angularMoment) {
  return {
    getLocale: function() {
      return angularMoment.locale();
    }
  }
}]);

如果我将angularMoment.locale()替换为return 'someLocale';,则我的代码将运行。但是,一旦我引用angularMoment,我就会得到错误。我知道这与我没有正确加载模块有关。但是,我不知道我在做什么错。运行单元测试时,我只会看到此错误:
Error: [$injector:unpr] http://errors.angularjs.org/1.2.22/$injector/unpr?p0=angularMomentProvider%20%3C-%20angularMoment%20%3C-myService (line 36) (1)

我究竟做错了什么?

最佳答案

在服务/因素注入(inject)器中尝试使用“moment”而不是angularMoment。这将为您提供来自MomentJS的对象

myApp.factory('myService', ['moment', function(moment) {
  return {
    getLocale: function() {
      return moment.locale();
    }
  }
}]);

09-25 16:37