一直在寻找几个小时的修复,没有任何解决方案。我正在尝试使用以下方法创建一个自定义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?
答案 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