Chart.js wird in Angular2 nicht angezeigt, wenn es nicht auf der Hauptseite vorhanden ist

8

Es scheint in Ordnung zu sein, wenn ich das Diagramm an die Hauptkomponente app.component.html ablege, aber sobald ich es in einer untergeordneten Komponente verwende und die App dorthin leiten lasse, wird das Diagramm nicht angezeigt. Im Inspektorfenster wird das Element mit 0 Höhe und 0 Breite angezeigt. Hat jemand eine Lösung dafür?

Hier ist mein Code für meine app.component.ts:

%Vor%

Hier ist mein Code für meine app.component.html:

%Vor%

Das canvas-Element auf der HTML-Seite wird angezeigt. Sobald ich es jedoch in meine Home-Komponente lege, wird es nicht angezeigt.

Hier ist mein home.component.ts:

%Vor%

Hier ist meine home.component.html:

%Vor%

Schließlich, hier ist meine chart.directive.ts:

%Vor%     
Beau Costoff 10.02.2016, 18:01
quelle

2 Antworten

2

Ok, hier ist, wie ich das Problem gelöst habe, das ich hatte. Ich habe eine neue Canvas-Komponente nur mit dem canvas-Element erstellt und meine chart-Direktive in die neue Komponente importiert. Danach habe ich die DynamicComponentLoader-Klasse verwendet, um meine Komponente dynamisch zu laden, wenn ich eine Instanz meiner Home-Komponente erstelle.

Neues home.component.ts:

%Vor%

Neue home.component.html

%Vor%

Neue canvas.component.ts

%Vor%

Ich hoffe, dass dies jemandem helfen kann.

    
Beau Costoff 10.02.2016, 19:48
quelle
2

Bei Angular 2.0.0-beta.3 gab es eine entscheidende Änderung bezüglich ElementRef Ссылка . Anstatt ElementRef innerhalb des Konstruktors zu verwenden, sollten Sie ngOnInit als LifeCycle-Hook betrachten Ссылка

    
Juergen Zimmermann 17.02.2016 20:20
quelle

Tags und Links