我最近在使用Meteor的Iron Router,我惊奇地发现从一个页面到另一个页面使用路由器浏览实际上会重新加载整个页面内容。这是因为当从一个页面浏览到另一个页面时,URL路径会改变。这对于可以被搜索引擎浏览的网站可能很有用,但对于构建Web应用程序来说,这不是我要寻找的东西。
事实上,我期望的是基于片段的东西,其中更改片段会将其放入会话中,以便我可以直接在模板中使用它。以下代码应该产生所需的效果(jQuery):
事实上,我期望的是基于片段的东西,其中更改片段会将其放入会话中,以便我可以直接在模板中使用它。以下代码应该产生所需的效果(jQuery):
$(window).on('hashchange', function() {
Session.set('hash', window.location.hash);
});
但在使用自己的解决方案之前,我想确保我没有重复造轮子。是否有任何Meteor路由器或其他支持基于片段(而不是路径)进行页面渲染的框架?
Session
或ReactiveDict
中的变量),然后您可以在其他逻辑中使用它们,从而保留反应式流程。很高兴看到我不是唯一这样想的人。我正在开发一个按照这种方式工作的路由器包,但它还没有公开发布。顺便说一句,Meteor有renderDynamic
调用,专门为此而设计。 - Jostein