javascript - 从子模板更新父模板的动态模板包含

标签 javascript meteor meteor-blaze

我对 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/

相关文章:

javascript - Meteor 中登录尝试的 DDP 速率限制器

javascript - Meteor - #数组的每次迭代,并在每个第 n 项后插入另一个 HTML 元素

javascript - "Yield"Node.js 中的计算

html - 在 Meteor 元素 : bug or feature? 中使用 ES6 `import` 和 CSS/HTML 文件

javascript - 地理位置不适用于 iOS 和 Meteor

javascript - Meteor JS 报错

css - 将 div 对齐到 <a href> 标签旁边

javascript - 在 Controller 的 div 中显示图像?

javascript - node.js 将数组传递给 mysql 回调

javascript - -- 存储我在 React 中使用的 DOM 元素,这样我就不会一直拉取它们?