У меня есть строка HTML с директивой AngularJS, которую я динамически вставляю через некоторые элементы управления jQuery, которые используются с 2009 года. Я не могу изменить этот элемент управления. Тем не менее, я хочу начать использовать угловой JS.AngularJS и динамический HTML
Сгенерированный HTML для сетки, рейтинг колонки, является:
<div star-rating rating-value="1005" max="5"> </div>
То, что я хочу, чтобы получить этот HTML компиляции.
В настоящее время AngularJS не может видеть этот динамически сгенерированный HTML.
Единственный способ, о котором я могу думать, это если я вызываю функцию javascript для каждой вставки jQuery (элемент управления Grid, который я использую, может скомпилировать функцию JavaScript).
fnCompileDynamicHTML('<div star-rating rating-value=23 max=5></div>)
И функция:
fnCompileDynamicHTML(html) {
return $compile(html)($scope) // or something?
}
Я следовал за то, что упоминается here. Однако моя жалоба жалобой:
App Already Bootstrapped with this Element.
Ну, это не потому, что это новый объект и новый внутренний HTML.
Это то, что я имею в петле 100:
evt.row.cells[glbCandidateListColumnIndex.rank].innerHTML = '<div star-rating rating-value="' + rank + '" ></div>';
fnCompileDynamicAngularJS(evt.row.cells[glbCandidateListColumnIndex.rank]);
Пожалуйста, помогите.
Кто угодно, пожалуйста !? – codebased
Кто-нибудь, пожалуйста? – codebased
'evt.row.cells [glbCandidateListColumnIndix.rank] .appendChild (fnCompileDynamicAngularJS ('
'));'? Вызов '$ compile (html) (scope)' возвращает '$ element', который вы должны« добавить »в нужное место. Вам также может потребоваться вызов '.node()' в возвращаемом элементе '$' для получения элемента DOM. –