2017-02-02 7 views
1

Я пытаюсь добавить div к другому div. Но этот div, который я добавлю, имеет ng-repeat (AngularJS).Могу ли я добавить div, который включает ng-repeat

мой HTML-код выглядит следующим образом:

<div id="content"></div> 

и это мой JQuery/angularjs функция:

$('#content').append('<div ng-repeat="article in articles"><p>{{article.title}}</p></div>); 

возможно запустить ng-repeat после того как я добавить его?

Спасибо ребята :)

+0

Попробуйте запустить $ объем $ дайджеста(); после добавления. – rrd

+2

Не используйте такие угловые и jquery. Если вы используете угловой, то контент должен существовать в HTML-коде уже, но просто быть скрытым с помощью 'ng-if' - его не следует добавлять отдельно. Если вы используете jquery, используйте jquery.each вместо ng-repeat. Вы делаете свой код излишне сложным, если попытаетесь использовать отдельные философии углового и jquery вместе. – Fissio

+0

Извините $ scope. $ Digest() не могу помочь мне ... я пробовал, но ничего не происходит –

ответ

3

Вы должны перекомпилировать DOM после добавления новых элементов в DIV

Ваш HTML

<div id="content"></div> 

Шаг 1: Создание HTML, который будет добавлен

var articleHTML= angular.element('<div ng-repeat="article in articles"><p>{{article.title}}</p></div>'); 

Шаг 2: компилировать шаблон

var compileAppendedArticleHTML= $compile(articleHTML); 

Шаг 3: связать скомпилированный шаблон с областью.

var element = compileAppendedArticleHTML($scope); 

Шаг 4:. Добавление к DOM

$("#content").append(element); 
+0

это работает, ha:) Большое спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^