web-dev-qa-db-fra.com

comment obtenir une API momentjs complète à l'intérieur angular?

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.

https://github.com/gdi2290/angular-momentjs

33
chovy

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();
});

Violon

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();
});

Violon

74
Anthony Chu

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

17
fyelci