铁路由器onbeforeAction我不懂文档。任何帮助更好的例子?流星1.0.2.1

时间:2015-01-14 03:07:46

标签: meteor iron-router

我不明白如何为此编码。我查看了文档中的示例,但不清楚。我想仅在用户登录时才渲染路由。我有一堆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'            
});

1 个答案:

答案 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'            
});