在ember-app-kit中使用group-helper:断言失败

时间:2014-02-17 15:54:49

标签: ember.js handlebars.js ember-app-kit

我正在尝试将Ember.js group-helper与Ember App Kit一起使用。

由于group没有破折号,app/helpers/group.js无法解析,因此我正在app.js明确加载帮助程序,如EAK docs中所述。

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。

我尝试过EAK方式,将group重命名为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>

仍然是相同的断言失败。

0 个答案:

没有答案