我不明白如何为此编码。我查看了文档中的示例,但不清楚。我想仅在用户登录时才渲染路由。我有一堆Router.routes
已定义且工作正常,直到我尝试实现各种形式的onBeforeAction
。这是我正在尝试的例子。我只想申请几个特定页面。
Router.onBeforeAction(function() {
only: ["newQuestions"]
if (!Meteor.user()) {
This.render('home');
} else {
this.next();
}
});
Router.route('/newQuestions', function() {
this.render('nav', {to: 'nav'});
this.render('footer', {to: 'footer'});
this.render('newQuestions');
}, {
name: 'newQuestions'
});
答案 0 :(得分:0)
而不是onbeforeAction
只在路由器处理程序中执行,如下面的
Router.route('/newQuestions', function() {
if (Meteor.user()) {
this.render('nav', {to: 'nav'});
this.render('footer', {to: 'footer'});
this.render('newQuestions');
} else {
//show rendering of login page or something here, if any
// like this.render('<your-login-tempalte>')
}
}, {
name: 'newQuestions'
});