如何在Handlebar中定义自定义块助手(用于Ember. js)?我尝试过使用Handlebar站点上描述的方法,但它似乎不起作用。我从Ember.js得到这个错误:
Assertion failed: registerBoundHelper-generated helpers do not support use with Handlebars blocks.
这是我的助手的代码。这个想法是,只有当我传入的模型相同时,才会呈现块:
Ember.Handlebars.helper 'sameModel', (model1, model2, options) ->
if model1 is model2
new Handlebars.SafeString(options.fn(this))
else
''
6个月后,现在看起来这是可能的,至少在一定程度上是可能的。你可以在这里查看讨论。我同意拉取请求认为这通常应该使用计算属性来处理,但这在某些情况下仍然非常有用。
我将接受这个答案来更新这篇文章。如果我违反了任何SO礼仪,请告诉我。:)
断言是正确的。你不能这样做,至少不是RC6和之前。
您可能希望使用模板
创建一个视图
并将一些属性绑定到它:
一些hbs
{{#if model1}}
This is model1 {{model1.name}}
{{/if}}
{{#if model2}}
This is model2 {{model2.name}}
{{/if}}
视图/一些. js
App.SomeView = Ember.View.Extend({
templateName: "some"
})
不同的模板
<h3>{{view App.SomeView model1Binding=someModel1 model2Binding=someModel2}}</h3>