Ember 2.0 handlebars helper 不是函数?

Ember 2.0 handlebars helper is not a function?

几个小时以来一直在寻找解决此问题的方法,但没有任何解决方案。我正在尝试使用以下方法创建自定义 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,如何注册助手?

在版本 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 客户端