私は、それぞれが 'htmlStringContent'プロパティを持つノードを含む再帰的なツリー構造を持っています。私は、ネストされた「ノード」のコンポーネントを使用してツリーを表示し、HTMLコンテンツを提示しようとすると私が使用します。HTMLを含む要素を動的に表示する機能(クリック)角度2
<div [innerHtml]="node.htmlStringContent"></div>
HTMLが正しく表示が、次の要素のために:
<a (click)="function()">click me</a>
(クリック)機能動作しません。私はこれがpreviously been postedを持っていることを知っていますが、角度の更新が最近大量に更新されたので、私は解決策を見つけることができません。 This answerは、ngComponentOutletディレクティブを使用しているはずだと私に信じていますが、どういうわけかはわかりません。
このクリック機能をバインドする方法を教えてください。
編集:私はComponentFactoryResolverを使用するように言われていますが、これを使ってhtmlを正しく表示する方法がわかりません。誰も助けを提供することはできますか?
EDIT2:私は[innerHTMLプロパティ]でそれを表示する前に消毒パイプを通して「htmlStringContent」を解析しています
transform(v: string) : SafeHtml {
return this._sanitizer.bypassSecurityTrustHtml(v);
}
EDIT3:基本的に、この質問は、財産上からHTMLを表示するようにすべての可能性であるかどうかを尋ねています角度2 /イオン2のオブジェクトは、その上に(クリック)機能を保持します。私は回避策の回答にもオープンしています。
このようなクリックイベントは機能しません。あなたはコンポーネントを作成しているので、リンクの1つに既に表示されているようにクリックイベントを生成することができます。 – micronyks
@micronyksしかし、私はまだ[innerHtml]を使ってHTMLコンテンツを提示する必要がありますか? – alsco77
angular1のように、angular2には '$ compile'サービスがないので、あなたは' componentFactoryResolver'を使ってそれを行うことができます。 – micronyks