0

Ich versuche, eine Sidebar dynamisch zu erstellen. Die können durch Klicken auf den Menüeintrag reduziert oder erweitert werden. MitWie man bootstrap jquery arbeiten mit dynamisch gebauten HTML in Angular2

<div [innerHtml]="function()"></div> 

funktioniert. Aber die Untermenüs sind so zusammengebrochen, wie es sein sollte. Aber es erweitert sich nicht, wenn Sie darauf klicken. Fehler erhalten

Wenn ich versuchte, dynamische Komponenten < ng-template sideBarPage></ng-template> zu verwenden, ist es zusammengebrochen, aber ich erhalte den folgenden Fehler. Ich weiß nicht, ob es eine Router Map erwartet.

injector.ts:1 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'subMenu1' 
Error: Cannot match any routes. URL Segment: 'subMenu1' 

Auch habe ich versucht, mit encapsulation: ViewEncapsulation.Native. Wenn der systemeigene Modus verwendet wird, werden alle Untermenüs erweitert und Klicks funktionieren nicht.

Ich habe eine Probe hier erstellt https://embed.plnkr.co/mn8gKcBzJLD4StrN5SmP/

Die „Sidebar Punkt 2“ brach zusammen und erweitern klicken werden soll.

Ich bin neu in Angular. Jede Hilfe wird geschätzt. Danke

+0

Binden Sie keine Funktionen in der Ansicht. Es wird jedes Mal aufgerufen, wenn die Änderungserkennung ausgeführt wird. Ihre Frage enthält keine Informationen zu Ihrem Router-Setup, obwohl die Fehlermeldung vom Router stammt. –

+0

Wenn ich auf Sidebar Element 2 klicke, ist die URL/# subMenu1 – PTN

+0

Der Plumer enthält viel zu viel Code. https://stackoverflow.com/help/mcve –

Antwort

0

Das Problem ist gelöst, nach Einführung einer Pipe auf den inneren HTML-Text. Hier hilft die link.

Ich konnte feststellen, dass das Element im Chrome-Browser angezeigt wurde und dass das Attribut "id" fehlte. Nachdem ich den HTML-Code bereinigt habe, kann ich den Down-Caret sehen und darauf klicken und die Seitenleiste erweitern.

Verwandte Themen