2

この node.js コードを以下に示します。

var moment = require('moment')
var myDate = new Date("2008-01-01");
myDate.setMonth(myDate.getMonth() + 13);
var answer = moment(myDate).format('YYYY-MM-DD');

angularjsで実行したいと思います。https://github.com/urish/angular-momentの指示に従い、必要なリンクとモジュールを追加しました。

angularjs コントローラーでコードを実行したいと思います。

angular.module('myApp.controllers', [])
    .controller('OwnCtrl', ['$scope', '$http', '$timeout', '$window', 'configuration', 
                            function($scope, $http, $timeout, $window, $configuration) 
{
}

問題はvar moment = require('moment')、node.js とは異なり、angularjs で呼び出すことができないことです。angularjsコントローラー内でこれを行うにはどうすればよいですか?

4

2 に答える 2

3

Angular コードで Node.js モジュールを使用することはできませんが、angular-moment をインストールし、README に記載されているようにファイルと依存関係を挿入し、次のように使用できます。

angular.module('myApp.controllers', []).controller('OwnCtrl', ['$scope', '$http', '$timeout', '$window', 'configuration', 'moment',
function ($scope, $http, $timeout, $window, $configuration, moment) {
    var myDate = new Date("2008-01-01");
    myDate.setMonth(myDate.getMonth() + 13);
    var answer = moment(myDate).format('YYYY-MM-DD');
}]);
于 2015-10-31T07:24:48.753 に答える
3

次のようにコードを変更する必要があります。

angular.module('myApp.controllers', ['angularMoment'])
    .controller('OwnCtrl', ['$scope', '$http', '$timeout', '$window', 'configuration', 'moment', 
                            function($scope, $http, $timeout, $window, $configuration, moment) 
{
    //use as in node
    var newDate = moment();
}

この場合、通常の angular-js 依存性注入を使用します

于 2015-10-31T07:26:13.837 に答える