单击相同 link 时使 Iron Router 重新加载页面
Make Iron Router reload page when clicking on the same link
我刚开始使用 Meteor 和 Iron Router 来创建一个简单的站点。站点的导航栏上有几个 link,其中之一称为 random
。这个想法是,当用户单击它时,运行dom post 将显示在页面上。
现在 Iron Router 似乎会阻止重新加载与当前页面相同 link 的页面。这是一个很棒的功能,除了在我的情况下我需要重新加载它以便用户可以看到新的 post。
相关代码如下:
Router.route('/random', function() {
console.log("running this!");
this.layout('SinglePostLayout', {
data: function () { return draw(Posts, {}) }
});
this.render('post');
集合中的draw
函数returns一个post。完美很有趣,但这与这里无关。我使用 console.log
.
只确认了一次代码 运行
有办法解决这个问题吗?我想为除 运行dom 之外的所有其他 links 保留不重新加载行为。我已经搜索了一段时间的答案,但找不到任何东西。
谢谢!
因为您没有使用动态路由来显示每个 post。
您可以使用 window 对象中的 Location.reload()
方法,并使用纯 Javascript.
if(Meteor.isClient){
Template.home.events({
'click #randomHref':function(){
document.location.reload(true);
// Router.go('/') don't work.
}
})
}
我刚开始使用 Meteor 和 Iron Router 来创建一个简单的站点。站点的导航栏上有几个 link,其中之一称为 random
。这个想法是,当用户单击它时,运行dom post 将显示在页面上。
现在 Iron Router 似乎会阻止重新加载与当前页面相同 link 的页面。这是一个很棒的功能,除了在我的情况下我需要重新加载它以便用户可以看到新的 post。
相关代码如下:
Router.route('/random', function() {
console.log("running this!");
this.layout('SinglePostLayout', {
data: function () { return draw(Posts, {}) }
});
this.render('post');
集合中的draw
函数returns一个post。完美很有趣,但这与这里无关。我使用 console.log
.
有办法解决这个问题吗?我想为除 运行dom 之外的所有其他 links 保留不重新加载行为。我已经搜索了一段时间的答案,但找不到任何东西。
谢谢!
因为您没有使用动态路由来显示每个 post。
您可以使用 window 对象中的 Location.reload()
方法,并使用纯 Javascript.
if(Meteor.isClient){
Template.home.events({
'click #randomHref':function(){
document.location.reload(true);
// Router.go('/') don't work.
}
})
}