我在HTML文件中有一个Meteor模板:
<template name='main'>
</template>
我使用Iron router渲染它:
Router.route('/', function () {
this.render('main');
});
现在我想渲染另一个模板来替换'main'模板。怎么做?
答案 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/