如何使用带有emberjs模型数据的把手'if'

时间:2014-04-17 12:25:39

标签: ember.js handlebars.js

Iam有一个使用bootstrap组件的表,每行可单击 我也在表格行中使用把手

<tbody data-link="row" class="rowlink">

 {{#each model.pastreqlist}}

{{#if_eq {{status}} "PENDING"}} 

<tr  data-toggle="modal" data-target="#pastreq {{action "selectRow" this target="view"}}">

{{else}}

<tr>  

{{/if_eq}}
        <td>{{employee_name}}</td>
        <td>{{type_id}}</td>
        <td>{{from_date}}</td>
       </tr>
      {{/each}}
    </tbody>

我想启用内部的内容,即我想只为那些状态为&#34; PENDING&#34;

的行弹出模态

到目前为止,我已经尝试了这个,但它无法正常工作

这里也是我的帮助代码

Handlebars.registerHelper('if_eq', function(a, b, opts) {
if(a == b)
    return opts.fn(this);
else
    return opts.inverse(this);
});

这是我的控制器代码

App.LinksController = Ember.ObjectController.extend({
  actions: {
    myleavesinfolist: function () {
      rdata = $.ajax({
    type: "POST",
    url: "/myleaves",
    dataType: "json",
    async: false
      }).responseJSON;
      this.transitionToRoute("myleaves", rdata);
    } //myleavesinfolist
  } //actions
}); //controller

请帮助我成为车把和余烬的新手

2 个答案:

答案 0 :(得分:1)

我在我的脚本中使用了把手registerhelper,如下所示

Ember.Handlebars.registerHelper('ifeq', function(a, b, options) {
  return Ember.Handlebars.bind.call(options.contexts[0], a, options, true,     function(result) {
    return result === b;
  });
});

在我的模板中,我这样做了

      {{#each model.pastreqlist}}
        {{#ifeq status "PENDING"}}
          <tr  data-toggle="modal" data-target="#pastrequestsmodal" {{action "selectRow" this target="view"}} style="cursor: pointer">
        {{else}}
          <tr>
        {{/ifeq}}

答案 1 :(得分:0)

您应该在模型上设置计算机属性,如下所示:

App.Request = Ember.Model.extend({
    stats:DS.attr('string'),
    isPending:function(){
        if(this.get('status') === 'PENDING'){
            return true;
        }
    }.property('status')
});

然后在你的模板中,你可以这样做:

<tbody data-link="row" class="rowlink">
    {{#each model.pastreqlist}}
        {{#if isPending}} 
            <tr  data-toggle="modal" data-target="#pastreq" {{action "selectRow" this target="view"}}>
        {{else}}
            <tr>  
        {{/if}}
            <td>{{employee_name}}</td>
            <td>{{type_id}}</td>
            <td>{{from_date}}</td>
        </tr>
    {{/each}}
</tbody>