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')在 angularjs 中调用,这与 node.js 不同。这如何在 angularjs 控制器中完成?

4

2 回答 2

3

您不能在 Angular 代码上使用 Node.js 模块,但您可以按照 README 中的说明安装 angular-moment、注入文件和依赖项,并像这样使用它:

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