【问题标题】:Make Iron Router reload page when clicking on the same link单击同一链接时使 Iron Router 重新加载页面
【发布时间】:2015-06-09 13:51:08
【问题描述】:

我刚开始使用 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 确认代码只运行了一次。

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

谢谢!

【问题讨论】:

    标签: javascript meteor iron-router


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!那行得通!在处理 Meteor 和 Iron Router 时,我发现很难知道它把代码放在哪里:(
    • ¿如何只重新加载 1 次?
    猜你喜欢
    • 2014-02-11
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    相关资源
    最近更新 更多