单击同一链接时,使Iron Router重新加载页面

时间:2015-04-04 18:00:25

标签: javascript meteor iron-router

我刚开始玩Meteor和Iron Router来创建一个简单的网站。网站导航栏上有一些链接,其中一个名为random。这个想法是,当用户点击它时,会在页面上显示随机帖子。

现在Iron Router似乎阻止了一个页面重新加载,如果它与当前页面的链接相同。这是一个很棒的功能,除了在我的情况下我需要它重新加载,所以用户可以看到一个新的帖子。

以下是相关代码:

Router.route('/random', function() {
    console.log("running this!");
    this.layout('SinglePostLayout', {
        data: function () { return draw(Posts, {}) }
    });
    this.render('post');

draw函数返回集合中的帖子。从完美开始,这很有趣,但这里并不重要。我确认代码只使用console.log运行一次。

有解决方法吗?我想保留除随机链接之外的所有其他链接的无重新加载行为。我已经搜索了一段时间的答案但找不到任何答案。

谢谢!

1 个答案:

答案 0 :(得分:7)

由于您没有使用动态路线来显示每个帖子。

您可以使用窗口对象中的Location.reload()方法,并使用纯Javascript。

  if(Meteor.isClient){
    Template.home.events({
        'click #randomHref':function(){
            document.location.reload(true);
            // Router.go('/') don't work.
        }
    })
}