Meteor - 路由器不显示布局模板

Meteor - router doesn't show layoutTemplate

我有一个非常简单的功能,可以检查用户是否登录,否则将他发送到注册页面。

var requireLogin = function() { 
    if (! Meteor.user()) {
        this.render('signUpForm', {
            path: '/signup',
            layoutTemplate: 'signup'
        }); 
    } 
    // else if () {
    //  this.render('listProfiles'); 
    // } 
    else {
        this.next(); 
    }
};

这是布局模板(我相信最简单的了):

<template name="signup">
    <div class="signup-page">
        <div class="container">
            {{> yield}}
        </div>
    </div>
</template>

我不能将 layoutTemplate 与 .render 一起使用?

我假设您使用的是 Iron Router。

据我所知,您不能将布局模板传递给渲染函数。

解决此问题的最简单方法是使用路由器配置:

// router.js
Router.configure({
  layoutTemplate: 'signup'
});

然后在你的js中:

if (! Meteor.user()) {
    this.render('signUpForm');
}