访问模板/帮助器中的反应表行数据?

时间:2016-06-10 05:30:28

标签: meteor

Tabular:

  

“在您的模板和帮助程序中,this设置为文档   当前行“

reactive-table是否有相同的内容?我需要在我的模板/助手中访问行数据,但我只是在努力寻找一种方法来访问它,表格就像使用this.一样简单

我使用的模板名为" Status"并且在这里有不同类型的标签,根据行数据返回的内容,它将是不同类型的标签。下面的代码适用于表格,但我不确定如何使这个工作为反应表?

example.html的

<template name="ApplicationStatus">
  <div class="row">
      {{#if statusPending}}
        <label class="label label-warning label-xs">"Pending</label>
      {{/if}}

      {{#if statusConnected}}
        <label class="label label-primary label-xs">Connected</label>
      {{/if}}
  </div>
</template>

Example.js

Template.ApplicationStatus.helpers({
  statusPending: function() {
    if (this.applications.app_status === 'Pending')
      return true;
    else
      return false;
  },
  statusConnected: function() {
    if (this.applications.app_status === 'Connected')
      return true;
    else
      return false;
  }
});

我目前正在通过这样做将其添加到我的反应表:

{ tmpl: Template.ApplicationStatus, label: 'Status' }

非常感谢任何信息,或者如果有更好的方法来实现我想要达到的目标,我也希望能够听到这些信息!

1 个答案:

答案 0 :(得分:1)

TL; DR

尝试使用Template.instance().data代替this

小解释

当你错过key定义但符合docs时,我并不感到害羞:

  

您可以指定用于在列中呈现单元格的模板   将tmpl添加到字段选项中。

{ fields: [
    { key: 'name', label: 'Name', tmpl: Template.nameTmpl },
    { key: 'location', label: 'Location', tmpl: Template.locationTmpl }
] }
     

模板的上下文将是完整对象,因此它将具有访问权限   到所有领域。

因此,在帮助程序和事件处理程序中,您可以通过Template.instance().data访问完整行对象。