我对 Meteor 还很陌生,需要一些帮助。
我有一个包含侧滑菜单的外部父模板。该侧滑菜单使用新的 Blaze 动态模板包括。
<div id="parentTemplate">
{{>yield}}
<div class="right-slide-menu">
{{> UI.dynamic template=rightSideMenu}}
</div>
</div>
因此,由于我使用 Iron-router,当新的子模板从 Iron-router 注入(inject)“yield”时,右侧菜单需要根据它现在所在的“页面”进行更改。 我试图弄清楚如何从子模板更新父动态模板幻灯片菜单。我可以使用 Angular 轻松地做到这一点...但我似乎无法使用 Meteor 解决这个问题。
任何帮助将不胜感激!
最佳答案
好吧,我确实做到了。我在这个博客上找到了解决方案:
http://empire5.com/development/meteor-rendering-a-handlebars-template-with-dynamically-loaded-data/
UI.render 和 UI.insert 已被弃用(尽管它现在仍然有效),因此我将他的说明调整为新的执行方式:
after upgrading to meteor 0.9.1 i keep getting "Warning: Blaze.insert has been deprecated."
所以最终的代码如下所示:
<div id="parentTemplate">
{{>yield}}
<div class="right-slide-menu">
<div class="sideMenu">
<!-- side menu template gets injected here -->
</div>
</div>
</div>
在我的子模板管理器中,我有这个:
Template.dashboard.events({
'click #showSideMenuBtn' : function(e){
e.preventDefault();
// pass in the name of the template you want to inject and
// also the parent container you want to inject it into
Blaze.render(Template.addManagerForm, $('.sideMenu')[0]);
};
});
关于javascript - 从子模板更新父模板的动态模板包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26540810/