2016-12-23 5 views
0

Я хочу вставить библиотеку momentJs в свой код машинописного текста, чтобы выполнять операции над объектом Date. Но я не знаком с вводом машинописного текста через angularJs, так как он немного отличается от javascript.Как вводить импульсы в машинописных текстах в AngularJs 1.5

angular.module("app") 
     .config(function ($mdDateLocaleProvider) { 
      $mdDateLocaleProvider.formatDate = function (date) { 
       return moment(date).format('YYYY-MM-DD'); 
      }; 
     }); 

В приведенном выше коде, функция moment не признается, даже если я включил CDN.

ответ

0

После того, как вы добавили все необходимые скрипты moment.js на свою страницу.

Используйте его, как это и попробовать

angular.module("app") 
.config(function ($mdDateLocaleProvider, moment) { 
    $mdDateLocaleProvider.formatDate = function (date) { 
     return moment(date).format('YYYY-MM-DD'); 
    }; 
}); 
0

Вы забыли добавить момент в конфигурации обратного вызова. Вы должны добавить момент в обратном вызове конфигурации, поскольку вы добавили $ mdDateLocaleProvider.

Существует более популярный угловой момент. вы можете увидеть шаги в документации углового момента. https://github.com/urish/angular-moment

дайте мне знать, если любая вещь еще требуется

0

1 - Установите момент с менеджером пакетов (НПМ, например)

2 - Reference это в файле точки приложения ввода:

<script src="node_modules/moment/moment.js"></script> 

3 - Создать постоянную реферирования момент, как он может быть использован как сервис (не забудьте импортировать):

import moment = require('moment'); 

angular.module("app").constant("moment", moment); 

4 - Вы должны быть в состоянии теперь настроить момент в вашей функции углового выполнения так:

angular.run(["moment", function(moment) { moment.locale("fr")}]); 

И использовать его в ваших контроллерах, а также при использовании инъекции зависимостей.

TIPS - Использование машинописный вы должны создать приложение с использованием классов, как это (даже если Машинопись просто надмножеством Javascript):

class MyController implements ng.IController { 

    static $inject: string[] : ["moment"]; 

    constructor(
     private moment) {} 

    $onInit = function() { 

     // do something with moment 
     let date = this.moment();   

    } 

} 

Дай мне знать, если это помогает вам.

+0

Это угловой 2 справа? –

+0

Нет, угловой 1 с использованием структуры базового класса. – Parker

+0

Я просто показываю этот совет, чтобы предложить вам более чистый код с помощью машинописного текста и более простой способ перемещения в угловой 2. Если это заставляет вас запутывать, просто придерживайтесь обычным способом, и это должно быть – Parker