我已经安装了陨石和路由器包
现在我有一个主页app.html
<body>
<div class="container">
<div class="page-header">
<a href="/">
<h1>Mi page</h1>
</a>
</div>
<div class="content">
{{renderPage}}
</div>
</div>
</body>
好的,现在所有页面都在{{renderPage}}内呈现。
现在用户转到/ panel并将用户面板渲染,这是一个棘手的部分
此部分有一个cpanel_nav_div和一个cpanel_body,我认为当用户保留在面板部分时,每次用户点击其中一个面板选项链接时,cpanel_nav_div都不会呈现效率更高效,因此只需更改cpanel_body。 / p>
最好的方法是什么?
它有一种方法可以做其他路由器和过滤器路由,所以当路由匹配/ panel / ...所有内容都进入cpanel_body而不是进入{{renderPage}} ????
设置Session.get和Session.set并根据会话在cpanel_body内呈现内容(我们错过路线)
每次使用路线并渲染cpanel_nav和cpanel_body吗?
请求帮助
答案 0 :(得分:1)
您可以告诉Meteor不要使用preserve重新呈现模板的一部分:
您可以在重新渲染期间“保留”DOM元素,在替换周围的HTML时将现有元素保留在文档中。这意味着重新渲染模板不需要干扰文本字段,iframe和它包含的其他敏感元素。要保留的元素必须既作为旧DOM中的节点又作为新HTML中的标记存在。 Meteor会在保存的元素周围修补DOM。
例如,要使用模板'foo'中的ID保留所有元素,请使用:
Template.foo.preserve({ 'input[id]': function (node) { return node.id; } });
所以你可能想要使用preserve方法告诉Meteor不要重新渲染你的cpanel_nav_div元素。