流星过滤器集合取决于所选的模板

时间:2015-09-02 22:43:42

标签: javascript meteor

我有两个模板,都包含第三个模板。第三个模板显示表中的订单集合。根据导航中选择的其他2个模板中的哪一个,第三个模板应显示买单或卖单

这会将一系列订单传递给我们的第三个模板,该模板会显示所有订单

Template.ordersTable.helpers({
    orders : function () {
        return OrderList.find().fetch();
    }
});

是否有这样做的流星方式,不需要复制模板和事件处理程序。

由于

2 个答案:

答案 0 :(得分:2)

有一种比jorjordandan建议更好的方法。

Template.ordersTable.helpers({
    orders: function () {
      var parentViewName = Template.instance().view.parentView.name;

      if (parentViewName === 'Template.someTemplate') {
        // do something
      } else if (parentViewName === 'Template.anotherTemplate') {
        // do something else
      }
    }
});

答案 1 :(得分:1)

您可以使用会话变量标志在帮助程序中切换第三个模板的数据。

例如:

getData: function(){
  if (Session.get("isBuyTemplate")=== true){
     //get buy data
  } else {
     // get sell data
  }
}

然后在要更改模板选择的事件助手中切换Session变量。