我的对象Pergunta有这种格式:
App.Pergunta = DS.Model.extend({
idQuestionario: DS.belongsTo('questionario'),
tipoResposta: DS.attr('number'),
posicao: DS.attr('number'),
pergunta: DS.attr(),
respostas: DS.attr(),
valorMinimo: DS.attr('number'),
valorMaximo: DS.attr('number')});
我需要使用属性tipoResposta来比较它是否等于1,并且我已经使代码低于
HTML:
{{#each pregunta in controller}}
{{#ifCond pregunta 1}}
<p><h3>{{pregunta.id}} {{pregunta.posicao}}</h3></p>
{{/ifCond}}
{{/each}}
JS
Ember.Handlebars.registerHelper('ifCond', function(v1, v2, options) {
if(v1.tipoResposta === v2) {
return options.fn(this);
}
return options.inverse(this);
});
但是使用这段代码我不能像对象那样发送pregunta,只能像文本一样发送。
有人可以帮助我吗?
由于
答案 0 :(得分:1)
创建bound
助手时,您需要使用Ember.Handlebars.registerBoundHelper(...)
将其注册为绑定助手。
话虽如此,但是不支持使用块条件注册绑定的帮助程序,并且它们似乎可以正常工作,但不会最终起作用。当绑定变量发生变化并切换应该应用哪个块时,应用程序将崩溃,抱怨它不受支持。
请参阅Is it possible to pass conditionals or other javascript as arguments in ember handlebars?