用角度为手风琴标题添加元素

时间:2013-07-02 08:33:06

标签: twitter-bootstrap angularjs accordion angular-ui angularjs-ng-repeat

在我正在处理的角度应用程序中,我需要用手风琴显示一些数据,并为每个标题添加一个按钮或其他类型的标记。 这是我使用the Twitter bootstrap accordion后的一个例子:

http://plnkr.co/edit/vV9Ky12jlrKb4qrcRnhA

只需要一些jQuery,我就可以将我想要的元素追加到accordion-toggle元素。

我正在尝试仅使用angular-ui做同样的事情。这是我到目前为止所做的:

http://plnkr.co/edit/sv43rrvU8rvDHplagZ2v

正如你所看到的,它并不像我想的那样有效。只要我不在span循环中,元素(此处为简单的ng-repeat)就会添加到标题中。显然,对于这个循环,当我插入指令时,accordion-heading还不可用。我应该如何修改它以便在适当的时间调用它(或者至少在编译手风琴DOM时)?

1 个答案:

答案 0 :(得分:1)

我不知道等待dom渲染ng-repeats的优雅解决方案,但在$timeout方法中包装你的dom查找将在这种情况下获得所需的结果:

$timeout(function(){
    var heading = element.parent().children().find('.accordion-toggle');
    console.log("found heading", heading);
    console.log("adding element", element.html());
    heading.append(element);
    console.log("yay");
},0)

Plunk