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

Gni*_*ohz 2 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');
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

Eth*_*aan 7

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

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

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