简体   繁体   English

在ember-cli中生成Helper把手

[英]Generate Helper handlebars in ember-cli

I have followed the ember guide to create an handlebar helper like in this jsbin 我已经按照余烬指南创建了像这个jsbin那样的车把帮手

This is the helper 这是帮手

Ember.Handlebars.registerBoundHelper('format-date', function(format, date) {
  return moment(date).format(format);
});

I can successfully reuse in my jsbin but i get an error when i apply the same helper in my application, this is the error Uncaught TypeError: fn.apply is not a function in my helper function , i am not implementing it correctly in my ember-cli 我可以在我的jsbin中成功重用,但是当我在应用程序中应用相同的助手时出现错误,这是错误Uncaught TypeError:fn.apply不是我的助手函数中的函数,我没有在余烬中正确实现它-cli

This is the same helper in my application 这是我应用程序中的同一个助手

import Ember from 'ember';

export default Ember.Handlebars.registerBoundHelper('format-date', function(format, date) {
        return moment(date).format(format);
});

What's the problem? 有什么问题?

I have also used makeBoundHelper instead of registerBoundHelper 我还使用了makeBoundHelper而不是registerBoundHelper

Just to let you know i have generated the ember helper in these steps 只是为了让您知道,我在这些步骤中生成了ember helper

1) From command prompt run ember generate helper "format-date" 1)在命令提示符下run ember generate helper "format-date"

This was the helper generated 这是产生的帮手

import Ember from 'ember';

export function formatDate(params/*, hash*/) {
  return params;
}

I am definitely mistaking the way i am exporting the format-date helper 我肯定误会了我导出format-date帮助程序的方式

How it should be in my ember-cli? 在我的ember-cli中应该如何?

Ps I am still using Ember 1.12.0 , i have seen a similar issue here 附言:我仍在使用Ember 1.12.0,我在这里看到了类似的问题

I had to update to Ember Version 1.13.7 and change the helper to this: 我必须更新到Ember版本1.13.7并将辅助程序更改为此:

import Ember from 'ember';

export function formatDate(params) {
  var date = params[0];
  return moment(date).format('LLL');
}

export default Ember.Helper.helper(formatDate);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM