Класс полезности Ember.js
Я новичок в Ember.js и Javascript в целом. Я использую ember-cli для создания приложения, которое может использовать класс 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.
Ответы
Ответ 1
Вам просто нужно импортировать модуль 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()
.
Ответ 2
Просто импортируйте свой класс с помощью синтаксиса модуля ES6.
import dateUtil from 'app/utils/date-util.js';
Литература: