У меня есть рекурсивная древовидная структура, содержащая узлы, каждый из которых имеет свойство htmlStringContent. Когда я отображаю дерево с помощью вложенных компонентов «узла» и пытаюсь представить содержимое html, которое я использую:
<div [innerHtml]="node.htmlStringContent"></div>
HTML отображается правильно, но для следующих элементов:
<a (click)="function()">click me</a>
Функции (щелчок) не работают. Я знаю, что это было ранее было опубликовано, но с большим количеством обновлений angular вывел в последнее время я не могу найти никаких решений. Этот ответ заставляет меня поверить, что я должен использовать директиву ngComponentOutlet, но я не уверен, как это сделать.
Как я могу заставить angular связать эту функцию щелчка?
Изменить: мне сказали использовать ComponentFactoryResolver, но я не понимаю, как я могу использовать это для правильного отображения html. Может ли кто-нибудь оказать дополнительную помощь?
Edit2: я анализирую 'htmlStringContent' через канал очистки, прежде чем отображать его на [innerHtml]
transform(v: string) : SafeHtml {
return this._sanitizer.bypassSecurityTrustHtml(v);
}
Edit3: в основном этот вопрос спрашивает, возможно ли отображать HTML из свойства объекта в angular 2/ionic 2, сохраняя при этом функциональность (щелчка) на нем. Я также открыт для ответов на обходные пути.
$compile
, поэтому вы можете сделать это, используяcomponentFactoryResolver
. - person micronyks   schedule 25.10.2016