javascript - Ember.js 工具类

标签 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() {};

我想知道如何编写一个实用程序以便我可以在我的应用程序中使用它。具体来说,举个例子,在 Controller 中:

export default Ember.ObjectController.extend({
  startDate: dateUtil.thisMonday()
});

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

moment({hour:0}).day(1);

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

最佳答案

您只需要在每个想要使用它的 Controller 中导入导出实用程序函数的 ES6 模块,如下所示:

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

export default Ember.ObjectController.extend({
  startDate: dateUtil().thisMonday()
});

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

关于javascript - Ember.js 工具类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25047887/

相关文章:

django - 带有管理站点的 Ember 应用程序

python - 如何添加获取我使用 from x import * 导入的模块数组?

javascript - 对象必需错误Javascript

javascript - 具有 AJAX 形式的 HTML5 历史

javascript - 从 Ember 服务中的其他方法调用方法

javascript - Node.js 动态模块(文件)导出

Python: 'from module' 与 'from__main__' 使用 timeit 的奇怪行为

javascript - 提高排序性能

javascript - 比较循环内的变量

javascript - Emberjs 路由器 : state does not change when the url hash is changed