Добавяне на елементи към акордеонни заглавия с ъглови

В ъгловото приложение, върху което работя, трябва да покажа някои данни с акордеон и да добавя бутон или някакъв друг вид маркер към всяко заглавие. Ето пример за това, което преследвам, като използвам акордеона за зареждане на Twitter:

http://plnkr.co/edit/vV9Ky12jlrKb4qrcRnhA

Само с малко jQuery мога да добавя елемента, който искам, към елемента accordion-toggle.

Опитвам се да направя същото, като използвам само angular-ui. Ето какво имам досега:

http://plnkr.co/edit/sv43rrvU8rvDHplagZ2v

Както виждате, не работи точно както бих искал. Елементът (тук обикновен span) се добавя към заглавието, стига да не съм в ng-repeat цикъл. Очевидно за този цикъл accordion-heading все още не е наличен, когато включвам моята директива. Как трябва да го модифицирам, така че да бъде извикан в точното време (или поне, когато акордеонът DOM е компилиран)?


person Pierre GM    schedule 02.07.2013    source източник
comment
Успях да получа бутон в заглавката на акордеона с помощта на свързана тема. stackoverflow.com/a/28375623   -  person clarson    schedule 12.02.2015


Отговори (1)


Не знам за елегантно решение за изчакване на dom за изобразяване на ng-repeats, но опаковането на вашите търсения на dom в метода $timeout ще доведе до желаните резултати в този случай:

$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

person rGil    schedule 02.07.2013