使用moment.js的Ember.js助手(使用ember-cli):把手错误:找不到属性

Yui*_*chi 9 ember.js momentjs

我正在尝试在我的ember.js应用程序中使用moment.js(使用ember-cli构建),我遇到了这个错误的问题

Handlebars error: Could not find property 'formatDate' on object

我认为这与此错误相同如何在ember-app-kit中使用自定义助手?但我已经做了同样的方法,但还没有工作.有人有同样的错误?请帮我搞清楚.

我把 app.import('vendor/momentjs/moment.js');Brocfile.js"moment": true.jshintrc为灰烬,CLI文档中,我用的帮手{{formatDate date}}PostsTemplate

我创建了一个帮手 app/helpers/formatDate.js

var formatDate = Ember.Handlebars.makeBoundHelper(function(date) {
  return moment(date).fromNow();
});

export default formatDate;
Run Code Online (Sandbox Code Playgroud)

我也试过这种语法app/helpers/formatDate.js,但都不起作用,都得到同样的错误

export default Ember.Handlebars.registerBoundHelper('formatDate',function(date) {
  return moment(date).fromNow();
});
Run Code Online (Sandbox Code Playgroud)

Ste*_*ven 15

我认为您的文件名'formatDate.js'格式错误.试试'format-date.js'它应该有用.

摘自http://iamstef.net/ember-cli/:

如果解析器的名称包含短划线(反向词,翻译文本等),则只能由解析器自动找到把手助手.这是在Ember中做出的选择的结果,以帮助消除助手的属性和减轻所有绑定的帮助程序分辨率的性能损失.

像这样使用新的'format-date'帮助:

{{format-date "29/05/2014"}}
Run Code Online (Sandbox Code Playgroud)