What\'s the preferred method of getting a moment()
object inside a view when using angular?
It looks like there is this project, but it does not look we
There is a more popular angular-moment project... https://github.com/urish/angular-moment
With it, you can inject moment like this...
app.controller("ctrl", function($scope, moment) {
$scope.date = new moment();
});
Fiddle
Or if you don't need the additional functionality and directives provided by angular-moment, you can make momentjs injectable in your app by using angular.value()
or angular.constant()
(angular-moment uses constant()
internally to do this)...
app.constant("moment", moment);
app.controller("ctrl", function($scope, moment) {
$scope.date = new moment();
});
Fiddle
There is a simpler and light weight solution. You can attach it to $window in a factory, so you can use it as angular dependency.
angular
.module('moment-module', [])
.factory('moment', function ($window) {
return $window.moment;
});
And use it as usual:
app.controller("ctrl", function($scope, moment) {
$scope.date = new moment();
});
There is detailed explanation here about how to use external resources in angularjs.
Don't forget to add moment to your index.html