Meteor iron-router .go 无需刷新站点

Meteor iron-router .go without refreshing the site

我想使用 Router.go('...') 函数通过 javascript 导航,例如提交表格。是否可以在不刷新整个站点的情况下这样做?刷新不会是这样的问题,问题是刷新强制退出所有警报,例如当用户提交表单并且一切顺利时,他会收到警报,然后我想将他移到另一个站点(使用 Router.go('...')),但是在使用此功能后网站会刷新并退出警报。 对于警报,我正在使用 sAlert 包。

在提交表单时,您可以阻止浏览器的默认行为,其中之一就是页面刷新。

你可以这样做。

    Template.myTemplate.events({
            'click': function(event) { // whichever class is used to trigger the submit function
                    event.preventDefault(); // prevent browser default behavior, i.e. refresh for on submit in forms
             // rest of your code
             // Router.go('nameOfRoute');
            }
    });

关于在导航后保持数据状态不变,您可以使用sessions。还要记住,会话变量位于客户端的全局 space 上。

s-alert包中有一个onClose回调事件你可以使用: https://github.com/juliancwirko/meteor-s-alert#callback-onclose

只需将包含您的 Router.go 的函数传递到警报的 属性 中即可。