我有一个问题,在我的流星应用程序中,当我在一个页面上说" test / two",我有一个名为" All"的按钮,现在当我点击这个按钮我希望我的流星应用程序重新加载整个" test / two"包含来自服务器的初始数据的页面(有一些过滤器和您可以更改的内容" test / two")。
问题是我是否使用锚点或点击事件与Router.go流星重定向,我认识到我已经在此页面上并且什么也没做。
我可以强制meteor app从服务器重新加载我已经在同一页面吗?
答案 0 :(得分:0)
看起来并不容易。
问题是,如果您对页面进行完全刷新,您将获得包含初始数据的页面,但您将丢失会话。
例如:
的.js
if (Meteor.isClient) {
Session.setDefault('something', "other");
console.log(Session.get('something'));
Template.reload.events({
'click #reload': function() {
document.location.reload(true);
},
'click #change': function() {
Session.set('something', 'else');
console.log(Session.get('something'));
}
});
}
Router.route('/', function() {
this.layout('layout');
this.render('reload');
});
html的
<head>
<title>Reload</title>
</head>
<body>
<h1>Reload test!</h1>
</body>
<template name="layout">
{{> yield}}
</template>
<template name="reload">
<button id ="change" type="button">Change Session</button>
<br/><br/>
<input type="text">
<input type="checkbox">
<input type="checkbox" checked>
<button id="reload" type="button">Reload</button>
</template>
我用铁做了一些实验:路由器,但我没有得到任何结果 蛮力的想法可以在对象中保存初始数据,如果用户按下&#34;全部&#34;按钮,您将使用侦听器恢复原始数据。
另外我发现了这个,How do I reload the current iron:router route?,看一看,也许它很有用。
答案 1 :(得分:0)
Iron:如果您只想重新加载整个页面,则不需要路由器,您可以使用纯JavaScript:
document.location.reload(true);