AngularJS:如何正确传递 moment.js 依赖项?

Lat*_*nis 2 angularjs momentjs angular-moment

我有一个app.js,我在其中声明了我的应用程序变量/模块:

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

然后我让我的控制器与其他人一起传递参考并尝试moment()拨打电话:

myApp.controller('myComtroller', ['$scope', 'moment', function ($scope, $http, $timeout, moment) {
    var now = moment();
    console.log(now);
}]);
Run Code Online (Sandbox Code Playgroud)

我在控制台中收到一个错误提示:

类型错误:moment 不是函数

我不明白为什么要这样做。

在我身体的尽头,我有这个作为我的参考:

<script src="~/lib/angular/angular.min.js"></script>
<script src="~/js/moment.js"></script>
<script src="~/lib/angular-moment/angular-moment.min.js"></script>
<script src="~/js/app.js"></script>
Run Code Online (Sandbox Code Playgroud)

以该顺序。(控制器稍后执行,该视图的部分脚本的一部分)

moment.js通过从这里下载安装:http : //momentjs.com/docs/

但是我angular-moment通过bower.

有什么建议?

din*_*ony 5

您的依赖项注释中缺少一些依赖项。

尝试:

myApp.controller('myComtroller', [
         '$scope','$http', '$timeout', 'moment', 
function ($scope , $http ,  $timeout,   moment) {
    var now = moment();
    console.log(now);
}]);
Run Code Online (Sandbox Code Playgroud)

另外,我建议使用ng-annotate来自动处理 DI 注释。