meteor - 更改路线时防止 Meteor/Iron 路由器重新加载

标签 meteor iron-router

我注意到每次 Meteor/Iron Router 更改路由时,整个页面都会刷新。

为什么会发生这种情况,我该如何预防?

对于每条新路线,我设置路线的方式都是这样的......

Router.route('/route/:_some_param', {
    name: 'something',
    onBeforeAction: function(){ // Something },
    waitOn: function(){ // Some subscription },
    action: function(){ // Something },
})

我以这种方式设置了几条路线。每当我从一个页面移动到另一个页面时,Meteor 都会重新加载整个页面。但是,当我停留在一条路线上并仅更改参数时,Meteor 只会重新加载必要的内容,而这正是我一直想要的。

最佳答案

我相信您所观察到的是 Iron Router 如何工作的基础。您使用 {{> yield }} 创建主模板模板占位符,Iron Router 将其替换为给定路由指定的模板。如果您选择不同的路线,{{> yield }}现在将指向新模板,因此页面的该部分将被重新渲染。您可以通过最小化 {{> yeild }} 的范围来最小化被换出的页面数量。在您的主模板中。

例如,在我的模板中,我有一个像这样的页眉和页脚:

<html>
  {{> header }}
  {{> yield }}
  {{> footer }}
</html>

当我导航路线时,页眉和页脚根本不会更新,只是它们之间的“胆量”。

关于meteor - 更改路线时防止 Meteor/Iron 路由器重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27689316/

相关文章:

javascript - 尽管存在不安全,但 meteor 更新访问被拒绝

javascript - meteor 集合插入允许抛出错误

testing - spyOn 无法在 Iron 路由器操作(服务器集成)中使用 js 方法

javascript - meteor &铁路由器 : TypeError: undefined is not a function

javascript - Meteor:谷歌登录无法在 iPhone/iPad 上使用

javascript - 如何在需要双引号的地方插入包含双引号的 meteor 模板?

meteor - 如何让 Meteor.user() 在服务器端返回?

javascript - Meteor JS Iron Router 良率故障排除

javascript - 如何在模板中组织 Canvas 脚本

javascript - meteor 取色器