我刚开始玩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
运行一次。
有解决方法吗?我想保留除随机链接之外的所有其他链接的无重新加载行为。我已经搜索了一段时间的答案但找不到任何答案。
谢谢!
答案 0 :(得分:7)
由于您没有使用动态路线来显示每个帖子。
您可以使用窗口对象中的Location.reload()
方法,并使用纯Javascript。
if(Meteor.isClient){
Template.home.events({
'click #randomHref':function(){
document.location.reload(true);
// Router.go('/') don't work.
}
})
}