Classe utilitaire Ember.js
-
21-12-2019 - |
Question
Je suis nouveau sur Ember.js et Javascript en général.j'utilise braise-cli pour créer une application qui pourrait utiliser une classe DateUtil pour effectuer une manipulation de date.J'ai remarqué qu'ember-cli dispose d'un générateur d'utilitaires pour produire le code passe-partout suivant dans app/utils/date-util.js :
export default function dateUtil() {};
Je me demande comment écrire un utilitaire pour pouvoir l'utiliser dans mon application.Plus précisément, à titre d'exemple, dans un contrôleur :
export default Ember.ObjectController.extend({
startDate: dateUtil.thisMonday()
});
où thisMonday() renverrait la date de ce lundi en utilisant moment.js comme :
moment({hour:0}).day(1);
Il y en aurait beaucoup d'autres similaires à thisMonday() dans le cadre de dateUtil.
La solution
Il vous suffit d'importer le module ES6 qui exporte votre fonction utilitaire, dans chacun des contrôleurs qui souhaitent l'utiliser, comme ceci :
import dateUtil from 'app/utils/date-util';
export default Ember.ObjectController.extend({
startDate: dateUtil().thisMonday()
});
Notez que le chemin n'est pas nécessairement app/utils/...
cependant, vous devez remplacer app
avec le nom de l'application que vous avez utilisée lors de la génération initiale de l'application.Vous pouvez vérifier de quoi il s'agit en regardant dans app/app.js
, et en recherchant la valeur de modulePrefix
dans Ember.Application.extend()
.
Autres conseils
Just import your class using the ES6 module syntax.
import dateUtil from 'app/utils/date-util.js';
References: