2017-05-20 2 views
0

Ich baue eine grundlegende Drag & Drop, die verschiedene vorbereitete HTML hat, die Sie in die Seite ziehen und ablegen können.Angular2: Inject HTML von einem Array und rendert die Ansicht

bekam ich ein Objekt mit der Liste der HTML, die Sie

element=[ 
text: {html: '<p> asdasdasdas</p>'}, 
list: {html: '<ul><li></li></ul>'}; 
img: {html: '<img src="placeholder.jpg"/>'} 
] 

Wie die HTML-Code in die Seite ziehen injizieren?

Oder soll ich die HTML-Snippets als Komponente erstellen und dann im Element-Element auf den Komponentenselektor verweisen und den Winkelselektor injizieren und die Ansicht rendern?

Antwort

1

können Sie verwenden ng-bind-html html

<div ng-bind-html="element.text.html"></div> 
<div ng-bind-html="element.list.html"></div> 
<div ng-bind-html="element.img.html"></div> 

Hinweis zu binden: Sie haben ngSanitize Modul auf Ihre Anwendung zu verwenden, um ng-bind-html

+0

schließen, was passiert, wenn ich bekam Winkelklasse in diesem HTML-Code und ich binde den HTML-Code würde es die Event-Listener auch binden? –

+0

Sie müssen $ sce auf Ihren Controller injizieren und dann Ihren HTML-Code mit der Funktion trustAsHtml einstellen. Beispiel: '$ scope.htmlText = $ sce.trustAsHtml ($ scope.element.text.html)' –

+0

$ scope ist eckig 1, ich spreche über eckig 2 buddy :) –

Verwandte Themen