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なしでヘルパーを登録してみてはどうですか?

4

1 に答える 1

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

エンバー・クリ

于 2015-10-16T09:28:29.543 に答える