Ich versuche, meine Hauptwinkelkomponente in einem zuvor ausgeführten HTML-Dokument zu laden. Dieses ist mein bestehender DOM:Angular 2 - Es ist möglich, die App-Komponente im vorhandenen DOM zu binden, ohne den HTML-Inhalt zu löschen?
<html>
<head></head
<body>
<!-- this is my template generated with Symfony -->
<div ...>
<ul>
<li><angularComponent></angularComponent></li>
<li><angularComponent></angularComponent></li>
</ul>
</div>
</body>
</html>
Ich mag meine Haupt App Komponente binden (oder Richtlinie) auf dem Körper oder an der Haupt div, ohne dass ich vorher ersetzt generierte Inhalte (mit symfony).
Es ist möglich? Hast du andere Lösung?
Danke,
Ich habe versucht, die beiden Lösungen, leider funktioniert es nicht in meiner Konfiguration. Ich denke, ich werde an ViewEncapsulation arbeiten, um den Mechanismus besser zu verstehen. Ich danke dir. – mgonzalez
'' und '' sind ein Slot, auf den die Angular-Komponente ihre untergeordneten Elemente projiziert. Mit '' erfolgt die Projektion mit Angular. Mit '' wird es durch den Browser https://developer.mozilla.org/en-US/docs/Web/HTML/Element/content gemacht (benötigt Polyfill). AFAIK aus Sicherheitsgründen Angular unterstützt dies absichtlich nicht für das Wurzelelement. –
Ich verstehe die Sicherheitsprobleme, ich hoffe, dass das Team eine Lösung für diesen Zweck hat oder haben wird. Einzelseiten-Anwendungen sind noch nicht weit verbreitet und ich denke, dass viele Leute Angular2 mit einem vorhandenen und vorgenerierten DOM/Template verwenden möchten. Darüber hinaus ist das Element jetzt veraltet. Ich habe eine sehr traurige und unelegante Lösung für mein Problem: Ich fing das vorgenerierte DOM mit Jquery in einer globalen Javascript-Variablen auf und injizierte es in die Vorlage meiner Angular2-Komponente, indem ich ein automatisches Closing verwendete. Dies kann zu Problemen mit einem großen DOM-Inhalt führen. –
mgonzalez