我正在尝试将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>
仍然是相同的断言失败。