Ember 2.0车把帮手不是一个功能?

时间:2015-10-16 08:24:33

标签: javascript ember.js ember-2.0.0

一直在寻找几个小时的修复,没有任何解决方案。我正在尝试使用以下方法创建一个自定义Ember车把助手:

Ember.Handlebars.helper('highlight', function(value, options) {
    var escaped = Handlebars.Utils.escapeExpression(value);
    return new Ember.Handlebars.SafeString('<span class="highlight">' + escaped + '</span>');
});

但出于某种原因,我得到Uncaught TypeError: Ember.Handlebars.helper is not a function

我在Ember 2中读到了他们的新方法:

// app/helpers/full-name.js
import Ember from "ember";

export default Ember.Helper.helper(function(params, hash) {
  return params.join(' ');
});

但是如果你使用的是ember-cli,那么如何在没有ember-cli的情况下注册helper?

1 个答案:

答案 0 :(得分:1)

在版本2中,他们删除了所有Ember.Handlebars接口调用。

使用新助手:

Ember.Helper.helper(function(params) {

});

或扩展Ember.Helper

Ember.Helper.extend({
  // This service name is only an example
  compute(params, hash) {
    return this.get('nameBuilder').build(params, hash.title);
  },
  rebuildName: Ember.observer('nameBuilder.isAnonymized', function() {
    this.recompute();
  })
});

理想情况下你也应该使用ember-cli,它更容易,因为我不确定如何编译并让它在没有它的情况下运行(这是一个非常好的构建系统,你可以使它适用于你想要的任何后端服务

ember serve --proxy
Ember Cli