如何使用铁路由器将模板的数据传递到另一个模板(不在查询参数上)

时间:2015-05-25 12:45:00

标签: templates meteor iron-router

我是铁路由器的新手,想通过Router.go()方法将一个模板数据传递给调用模板。但我发现它可以通过查询,但我不想使用查询,因为我的数据是大型JSON对象。 那么,有没有办法使用铁路由器将数据从一个模板传递到另一个模板。 任何帮助都将受到高度赞赏。

2 个答案:

答案 0 :(得分:1)

将其保存到某个本地集合,然后在网址中使用ID是一种方式。

JSONCollection = new Mongo.Collection('some_json');

Template.yourTemplate.events({
  'click button[data-action="go-to-next"]': function (e, template) {
    var id = JSONCollection.insert(template.data);
    Router.go('yourroute', { _id: id });
  }
});

然后您的网址将包含ID。

  

/ yourroute /:someIdHere

答案 1 :(得分:1)

在另一个模板上调用Router.go()和Session.set()之前使用Session.get()。这种方法并不需要往返数据库,但请确保不会泛滥Session对象,因为它会在整个浏览器会话中持续存在。