Meteor JS Router.go重定向到同一页面

时间:2015-03-22 11:55:48

标签: javascript meteor iron-router

我有一个问题,在我的流星应用程序中,当我在一个页面上说" test / two",我有一个名为" All"的按钮,现在当我点击这个按钮我希望我的流星应用程序重新加载整个" test / two"包含来自服务器的初始数据的页面(有一些过滤器和您可以更改的内容" test / two")。

问题是我是否使用锚点或点击事件与Router.go流星重定向,我认识到我已经在此页面上并且什么也没做。

我可以强制meteor app从服务器重新加载我已经在同一页面吗?

2 个答案:

答案 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);