Либо добавьте дополнительный элемент в массив, который вы используете для генерации, либо, что еще лучше, отделите реальные данные от пользовательского интерфейса и добавьте к этому элементу что-то вроде:
var html='<div ng-if="' + expressionForShowingelement + '">Value</div>',
el = document.getElementById('targetelementId');
angular.element(el).append( $compile(html)($scope) )
И тогда исходный источник останетсято же самое и пользовательский интерфейс отделен от данных / логики.Будьте осторожны, чтобы не смешивать одинарные и двойные кавычки и не разбивать HTML.
Не забудьте установить id
, на который вы нацеливаетесь, с помощью append()
позже и отключить элемент для выбора.
Кроме того, имейте в виду, что если вы реагируете на событие вне AngularJS, вам нужно позвонить по номеру $apply
.