0

我正在使用 ng-repeat 向我的 UIKit data-uk-accordion 动态添加新的手风琴部分。

<div class="uk-accordion" data-uk-accordion="{ collapse: false }">
  <h3 class="uk-accordion-title uk-active" ng-repeat-start="driver in drivers">Driver {{driver.id}}</h3>
  <div class="uk-accordion-content" ng-repeat-end>
  ...
</div>

当我添加新的手风琴部分并单击标题以折叠时,我收到以下错误:

TypeError: wrapper is undefined,在 UIkit 2.24.2 的手风琴.js 的第 73 行: wrapper.data('toggle').toggleClass(this.options.clsactive);

我尝试添加data-uk-observe到手风琴 div 或其父 div 但没有任何效果,并且还尝试通过添加 id 手动重新启动手风琴,并从控制台运行 UIkit.accordion('#drivers') 但没有变化.

甚至试图UIkit.init()从控制台运行,但我得到了同样的错误。

任何想法如何重新启动手风琴?

4

1 回答 1

0

看起来你想要做的是:

  • 省略data-uk-accordion属性。
  • 保存调用返回的对象UIkit.accordion(element, options)
  • 添加新的手风琴子元素后,调用accordion.update(). (假设您将上面返回的对象保存在名为 的变量中accordion

有关我是如何做到这一点的更多信息,请查看GitHub 上的相关问题

于 2016-03-11T17:48:00.853 回答