2014-05-18 5 views

risposta

74

C'è un progetto più popolare angolare momento ... https://github.com/urish/angular-moment

Con esso, è possibile iniettare momento come questo ...

app.controller("ctrl", function($scope, moment) { 
    $scope.date = new moment(); 
}); 

Fiddle

O se non hai bisogno delle funzionalità aggiuntive e delle direttive fornite da angular-moment, puoi creare momentjs i njectable nella vostra applicazione utilizzando angular.value() o angular.constant() (angolare momento utilizza constant() internamente per fare questo) ...

app.constant("moment", moment); 

app.controller("ctrl", function($scope, moment) { 
    $scope.date = new moment(); 
}); 

Fiddle

+4

Come come è possibile inserire gli script in un controller. –

+3

Questo sembra un po 'eccessivo ... qual è la strategia generale per includere semplici librerie javascript in un progetto angolare? Cosa succede se qualcuno non sta mantenendo una porta angolare o hai bisogno di una versione diversa? – Meekohi

15

C'è una soluzione di peso più semplice e leggero. Puoi allegarlo a $ window in una fabbrica, quindi puoi usarlo come dipendenza angolare.

angular 
    .module('moment-module', []) 
    .factory('moment', function ($window) { 
     return $window.moment; 
    }); 

e usarlo come al solito:

app.controller("ctrl", function($scope, moment) { 
    $scope.date = new moment(); 
}); 

C'è spiegazione dettagliata here su come utilizzare risorse esterne in angularjs.

Non dimenticate di aggiungere al vostro momento index.html