1

Ember App Kit でEmber.js group-helperを使用しようとしています。

groupにはダッシュがないためapp/helpers/group.js、解決できないため、 EAK docsapp.jsで説明されているように、ヘルパーを明示的にロードしています。

app/helpers/group.js

export default function(option) {
  var data = options.data,
      fn   = options.fn,
      view = data.view,
      childView;

  childView = view.createChildView(Ember._MetamorphView, {
    context: Ember.get(view, 'context'),

    template: function(context, options) {
      options.data.insideGroup = true;
      return fn(context, options);
    }
  });

  view.appendChild(childView);
}

app.js

import GroupHelper from 'appkit/helpers/group';
Ember.Handlebars.registerBoundHelper('group', GroupHelper);

テンプレートで

<ul>
{{#group}}
  {{#each}}
    <li>{{prop1}} {{prop2}}</li>
  {{/each}}
{{/group}}
</ul>

アサーションに失敗しました:

registerBoundHelper-generated helpers do not support use with Handlebars blocks.

(アプリはグループ ヘルパーなしで正常に動作します)

が実験的であることは知っていgroup-helperますが、それは現在の Ember リリースでは動作しないということですか?

これが機能するはずの場合、何が欠けていますか?

@Stakoov のコメントの後に編集: Ember 1.4.0-beta6 から 1.4.0 に更新し、Handlebars 1.3.0 を使用しています。

group名前を変更してEAKの方法を試しましたgroup-item(EAKリゾルバーにはダッシュが必要なため)。

app/helpers/group-item.js

export default Ember.Handlebars.makeBoundHelper(function(options) {
  // (...snip...)
});

テンプレートで:

<ul>
{{#group-item}}
  {{#each}}
    <li>{{prop1}}</li>
  {{/each}}
{{/group-item}}
</ul>

それでも同じアサーションが失敗しました。

4

0 に答える 0