Quelle est la méthode préférée pour obtenir un objet moment()
dans une vue lors de l'utilisation angulaire?
Il semble qu'il y ait ce projet, mais il ne semble pas bien entretenu.
Il existe un projet de moment angulaire plus populaire ... https://github.com/urish/angular-moment
Avec lui, vous pouvez injecter un moment comme celui-ci ...
app.controller("ctrl", function($scope, moment) {
$scope.date = new moment();
});
Ou si vous n'avez pas besoin des fonctionnalités et directives supplémentaires fournies par angular-moment, vous pouvez rendre momentjs injectable dans votre application en utilisant angular.value()
ou angular.constant()
(angular-moment utilise constant()
en interne pour ce faire) ...
app.constant("moment", moment);
app.controller("ctrl", function($scope, moment) {
$scope.date = new moment();
});
Il existe une solution plus simple et plus légère. Vous pouvez l'attacher à $ window dans une usine, vous pouvez donc l'utiliser comme dépendance angular.
angular
.module('moment-module', [])
.factory('moment', function ($window) {
return $window.moment;
});
Et utilisez-le comme d'habitude:
app.controller("ctrl", function($scope, moment) {
$scope.date = new moment();
});
Il y a une explication détaillée ici sur la façon d'utiliser les ressources externes dans angularjs.
N'oubliez pas d'ajouter un moment à votre index.html