Ember JS如果条件使用对象属性

时间:2014-10-18 23:45:03

标签: ember.js

我的对象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,只能像文本一样发送。

有人可以帮助我吗?

由于

1 个答案:

答案 0 :(得分:1)

创建bound助手时,您需要使用Ember.Handlebars.registerBoundHelper(...)将其注册为绑定助手。

话虽如此,但是不支持使用块条件注册绑定的帮助程序,并且它们似乎可以正常工作,但不会最终起作用。当绑定变量发生变化并切换应该应用哪个块时,应用程序将崩溃,抱怨它不受支持。

请参阅Is it possible to pass conditionals or other javascript as arguments in ember handlebars?