【问题标题】:Meteor filter collections depending on templates selected流星过滤器集合取决于所选模板
【发布时间】:2015-09-02 22:43:41
【问题描述】:

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

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

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

是否有一种不需要复制模板和事件处理程序的流星方式。

谢谢

【问题讨论】:

  • 您可以使用会话变量作为标志来在帮助程序中切换第三个模板的数据。
  • 肯定有,但是如果没有看到你的代码,很难知道是怎么回事。

标签: javascript meteor


【解决方案1】:

有一个比 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
      }
    }
});

【讨论】:

  • 是的,这可能是一个更好的方法。不错
【解决方案2】:

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

例如:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2017-03-14
    • 2018-12-04
    • 2015-01-24
    • 2015-07-22
    • 1970-01-01
    • 2019-01-11
    相关资源
    最近更新 更多