Ember.js实用工具类

Ant*_*ony 11 javascript module ember.js ecmascript-6 ember-cli

我是Ember.js和Javascript的新手.我正在使用ember-cli创建一个可以使用DateUtil类来执行某些日期操作的应用程序.我注意到ember-cli有一个实用程序生成器,可以在app/utils/date-util.js中生成以下样板代码:

export default function dateUtil() {};
Run Code Online (Sandbox Code Playgroud)

我想知道如何编写实用程序,以便我可以在我的应用程序中使用它.具体来说,作为一个例子,在控制器中:

export default Ember.ObjectController.extend({
  startDate: dateUtil.thisMonday()
});
Run Code Online (Sandbox Code Playgroud)

thisMonday()将使用moment.js返回本周一的日期:

moment({hour:0}).day(1);
Run Code Online (Sandbox Code Playgroud)

作为dateUtil的一部分,还有许多其他类似于thisMonday()的东西.

bgu*_*uiz 13

您只需要在每个想要使用它的控制器中导入导出实用程序功能的ES6模块,如下所示:

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

export default Ember.ObjectController.extend({
  startDate: dateUtil().thisMonday()
});
Run Code Online (Sandbox Code Playgroud)

请注意,路径不一定app/utils/...,您必须替换app最初生成应用时使用的应用程序的名称.您可以通过查看app/app.js并查找modulePrefix内部值来验证这是什么Ember.Application.extend().