Meteor中动态创建(反应)DOM的Uikit下拉列表

Meteor中动态创建(反应)DOM的Uikit下拉列表,meteor,getuikit,Meteor,Getuikit,我正在开发的一个应用程序在sidenav中以下拉菜单(或手风琴)的形式显示电子邮件帐户,如前所述 当数据在加载时存在时,下拉菜单工作正常,这要归功于 代码如下所示(simlified): {{{#每个邮件帐户} {{/每个}} 当通过meteor方法添加新帐户时,条目会出现,但下拉列表会死掉。只有当模板完全重新招标时,它才会生效。这通常需要绕道到其他没有菜单的页面 我如何让观察者意识到变化 为什么观察者没有注意到这个变化,并将它的魔力应用到新创建的条目上 有没有一种方

我正在开发的一个应用程序在sidenav中以下拉菜单(或手风琴)的形式显示电子邮件帐户,如前所述

当数据在加载时存在时,下拉菜单工作正常,这要归功于

代码如下所示(simlified):


    {{{#每个邮件帐户}
  • {{/每个}}
当通过meteor方法添加新帐户时,条目会出现,但下拉列表会死掉。只有当模板完全重新招标时,它才会生效。这通常需要绕道到其他没有菜单的页面

  • 我如何让观察者意识到变化
  • 为什么观察者没有注意到这个变化,并将它的魔力应用到新创建的条目上
  • 有没有一种方法可以手动将JavaScript下拉魔术分配给新创建的元素

UIkit版本:2.19.0

Meteor在运行时使用ractive变量修改DOM。这意味着您的邮件帐户需要是一个实际变量。实现这一点有两种便宜的方法(就工作量而言)

  • 将mailAccounts定义为会话变量
  • 邮件帐户是集合的一部分吗
  • 如果您不介意编写更多的代码,还有第三种方法。使用ractiveVar包并将mailAccounts定义为reactiveVar

    <div id="app_wrapper" data-uk-observe>
        <ul class="uk-nav uk-nav-side uk-nav-parent-icon" data-uk-nav data-uk-observe>
            {{#each mailAccounts}}
            <li class="uk-parent ct-mail-account-side-nav-entry">
                <a href="#">user@domain.tld</a>
                <ul class="uk-nav-sub">
                    <li><a href="#"><i class="uk-icon-inbox"></i> Inbox</a></li>
                    <li><a href="#"><i class="uk-icon-folder"></i> Sent</a></li>
                    <li><a href="#"><i class="uk-icon-folder"></i> Trash</a></li>
                    <li><a href="#"><i class="uk-icon-folder"></i> Spam</a></li>
                </ul>
            </li>
            <li class="uk-nav-divider"></li>
            {{/each}}
        </ul>
    </div>