使用 Iron Router 在 Meteor 中设置响应式布局

Set a reactive layout in Meteor with Iron Router

有没有办法在 meteor 中使用 iron router 设置反应式布局?

例如:

Router.configure({
  loadingTemplate: 'loading',
  layoutTemplate: Session.get('fullscreen') ? 'layoutFull' : 'layout'
});

然后在两种布局中使用 link:

<a href="" data-action="toggleFullscreen" class="b-button">Toggle Fullscreen</a>

然后在两种布局中都是这样的:

  Template.layoutFull.events({
    'click [data-action=toggleFullscreen]': function() {
      Session.set('fullscreen', !Session.get('fullscreen'));
    }
  });

  Template.layout.events({
    'click [data-action=toggleFullscreen]': function() {
      Session.set('fullscreen', !Session.get('fullscreen'));
    }
  });

我 运行 遇到的问题是 Router.configure 没有被动设置 layoutTemplate。有没有办法做到这一点,从而影响所有路线?

它必须是一个反应函数:

layoutTemplate: function(){
   return Session.get('fullscreen') ? 'layoutFull' : 'layout'
}

另外,为什么有两个函数? 你只需要一个,因为这是点击会话

的否定