Вопрос

Я новичок в Ember.js и Javascript в целом.Я использую Эмбер-кли чтобы создать приложение, которое могло бы использовать класс DateUtil для выполнения некоторых манипуляций с датами.Я заметил, что в ember-cli есть генератор утилит для создания следующего шаблонного кода в app/utils/date-util.js:

export default function dateUtil() {};

Мне интересно, как написать утилиту, чтобы я мог использовать ее в своем приложении.Конкретно, например, в контроллере:

export default Ember.ObjectController.extend({
  startDate: dateUtil.thisMonday()
});

где thisMonday() вернет дату этого понедельника, используя moment.js, например:

moment({hour:0}).day(1);

Будет много других, похожих на thisMonday(), как часть dateUtil.

Это было полезно?

Решение

Вам просто нужно импортировать модуль ES6, который экспортирует вашу служебную функцию, в каждый из контроллеров, которые хотят его использовать, например:

import dateUtil from 'app/utils/date-util';

export default Ember.ObjectController.extend({
  startDate: dateUtil().thisMonday()
});

Обратите внимание, что путь не обязательно app/utils/... хотя вам придется заменить app с именем приложения, которое вы использовали при первоначальном создании приложения.Вы можете убедиться, что это такое, заглянув app/app.js, и ищем значение modulePrefix в пределах Ember.Application.extend().

Другие советы

Just import your class using the ES6 module syntax.

import dateUtil from 'app/utils/date-util.js';

References:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top