Служебный класс Ember.js
-
21-12-2019 - |
Вопрос
Я новичок в 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: