Node.js 如何将一个模板的一些数据发送到另一个模板Meteor

Node.js 如何将一个模板的一些数据发送到另一个模板Meteor,node.js,templates,meteor,meteor-blaze,Node.js,Templates,Meteor,Meteor Blaze,我想使用Meteor将一些数据从一个模板共享到另一个模板。我有一个模板,即allInventory.html,我在其上以表格形式显示一些数据,我在那里添加了三个链接。一个供查看,编辑和删除我想要的内容我正在将所有数据从后端获取到一个助手,即productDetails,我使用view按钮绑定一个事件,该按钮将获取当前用户单击哪个产品的数据,因此我已在allinventory模板中成功获取数据,但还有另一个模板,即我想要呈现的productDetails或者显示数据。但我坚持认为我有关于allIn

我想使用Meteor将一些数据从一个模板共享到另一个模板。我有一个模板,即allInventory.html,我在其上以表格形式显示一些数据,我在那里添加了三个链接。一个供查看,编辑和删除我想要的内容我正在将所有数据从后端获取到一个助手,即productDetails,我使用view按钮绑定一个事件,该按钮将获取当前用户单击哪个产品的数据,因此我已在allinventory模板中成功获取数据,但还有另一个模板,即我想要呈现的productDetails或者显示数据。但我坚持认为我有关于allInventory点击事件的数据,但不知道如何与productDetails模板相同

这是我的allInventory.js

 Template.allInventory.rendered = function() {
Template.allInventory.events({
      "click .btn":function (e){
       data  = $(e.target).attr('data');
    Router.go('productDetail', {data: $(e.target).attr('data')}, {query: 'q=s', hash: 'hashFrag'});
    console.log("button clicked.."+data);
    console.log(data);

  }
})
ProductDetails.js

Template.productDetail.rendered = function () {
Template.productDetail.helpers({

 productDetails: function() {  
      return data;
}
    });
allinventory.html

<button type="button" data ="{{productInfo}}" class="btn btn-info btn-sm"><i class="fa fa-eye"></i>View</button>
视图
我只是想与productsDetails模板共享所有库存模板数据

任何帮助都将被感激!
谢谢

如果要在模板之间共享数据,可以使用会话变量

您可以按照以下指南操作:


我建议为此避免会话,因为它是一个全局对象,但更重要的是,因为有更好的方法

可以使用帮助程序将数据从父模板传递到子模板:

您可以使用回调将数据从子模板传递到父模板


我会构造这个应用程序,使其具有一个容器(页面)模板,该模板将包含所有订阅,并根据URL呈现一个模板。

我会将两个模板放在第三个父模板中

 ParentTemplate
  -SharedInfo
  -KidTemplate1
  -KidTemplate2
然后,让第三个模板保存您希望跨模板共享的信息

为此,您可以使用,确保父模板上template1代码的更改在template2中也可见

要访问孩子的父模板,您可以执行以下操作:

Blaze.TemplateInstance.prototype.parentTemplate = function (levels) {
var view = Blaze.currentView;
if (typeof levels === "undefined") {
    levels = 1;
}
while (view) {
    if (view.name.substring(0, 9) === "Template." && !(levels--)) {
        return view.templateInstance();
    }
    view = view.parentView;
}
};