如何在Meteor中更改渲染模板?

时间:2014-10-06 17:27:33

标签: meteor iron-router

我在HTML文件中有一个Meteor模板:

<template name='main'> </template>

我使用Iron router渲染它:

Router.route('/', function () { this.render('main'); });

现在我想渲染另一个模板来替换'main'模板。怎么做?

1 个答案:

答案 0 :(得分:1)

显然你不想要另一条路线?

如果不是,您可以在路由器中使用无功变量。当您更改变量时,它将再次运行并呈现您的其他模板。 见http://eventedmind.github.io/iron-router/#hooks

var OnBeforeActions;

OnBeforeActions = {
    whichMain: function() {
       if (reactiveVar) {
        this.render('otherMain');
      }
       else 
        this.next()  ;
    }
};

Router.onBeforeAction(OnBeforeActions.whichMain, {
    only: ['Main']
});

或者在主路由器中使用动态模板。

https://www.discovermeteor.com/blog/blaze-dynamic-template-includes/