Ember.js实用工具类

时间:2014-07-30 22:15:05

标签: javascript ember.js module ember-cli ecmascript-6

我是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);

作为dateUtil的一部分,还有许多其他类似于thisMonday()的内容。

2 个答案:

答案 0 :(得分:13)

您只需要在每个想要使用它的控制器中导入导出实用程序功能的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()的值来验证这是什么。

答案 1 :(得分:3)

只需使用ES6模块语法导入您的课程。

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

参考文献: