2016-10-17 8 views
1

私は私のアプリ変数/モジュールを宣言したapp.js、持っている:AngularJS:moment.js依存関係を正しく渡す方法は?

var myApp = angular.module('myApp', ['angularMoment']); 

その後、私は私のコントローラは、他の人と一緒に参照を渡すとmoment()コールしようとしてましたよ:

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

は、私は私のコンソール吐き、このうちでエラーが出ます:

TypeError: moment is not a function

私はそれがこれをやっている理由を理解していません。

私の体の終わりに向かって、私は私のリファレンスとしてこれを持っている。そのためには

<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> 

。 (コントローラが後に実行されます、そのビューのセクションスクリプトの一部は)

私はここからダウンロードを通じてmoment.jsをインストール:http://momentjs.com/docs/

しかし、私はbowerを通じてangular-moment依存関係をインストールしました。

提案がありますか?

+2

あなたはapp.jsの前にmoment.jsとangular-moment.min.jsを動かす必要があります – Valter

+0

@ 123456789私はそれを試しました – NoReceipt4Panda

+0

@VolcovMeterは今働いていますか? – Sajeetharan

答えて

3

依存関係注釈にいくつかの依存関係がありません。

試してみてください。

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

また、私は自動的にDIの注釈を処理するためにng-annotateを使用することをお勧めします。

-1

あなたが依存関係としてモーメントサービスを渡す必要はありません、あなただけの、以下

myapp.controller("myComtroller", function($scope) { 
$scope.date = moment();  
}); 

DEMOを行うことができます

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

、正しい順序でdepdenciesを渡す必要があります

+0

これらのdownvotesは理由を言うことはありません – Sajeetharan

+0

なぜdownvotes? – NoReceipt4Panda

+0

@VolcovMeter私は理由がないと思います。それは機能しましたか? – Sajeetharan

関連する問題