如何在Meteor 0.8.0中的一个布局中使用两个Iron Router控制器?

时间:2014-04-03 02:58:03

标签: meteor iron-router

在我的Meteor应用程序中,我有两个yield块:一个用于我的全局导航栏,另一个用于我的主要内容:

<template name="layout">

  <div>
    {{> yield region='navRegion'}}
  </div>
  <div>
    {{> yield}}  
  </div>

 </template>

如何在我的路线中添加铁路由器控制器,以便我可以将数据传递到我的全局导航栏(因为它没有路由)?是否可以同时运行两个控制器?或者我是否必须依靠助手来进行全球导航?

2 个答案:

答案 0 :(得分:0)

让我们说你试图在主{{> yield}}中呈现的模板被命名为home。以下是可行的。

Router.configure({
  layoutTemplate: 'layout'
});

Router.map(function () {
  this.route('home', {
    path: '/',
    template: 'home',
    yieldTemplates: {
      'navRegion': {
        to: 'navRegion'
      }
    }
  });
});

答案 1 :(得分:0)

这是@cmather的答案,他在我的另一篇文章中回答: How do I activate an Iron Router route without changing the path?

  

路线与路线控制器之间存在一对一的关系。你&#39; 11   根据路线,一次只运行一个控制器   你继续。如果要从控制器设置全局值,请执行此操作   在全局数据环境中进行此操作没有意义,您可以随时使用   设置会话值。例如:Session.set(&#39; currentId&#39;,   this.params._id) - @cmather