Ich rendere ein Diagramm innerhalb einer angle2-Attribut-Direktive (ein Ansatz, der vom angle2-Team übernommen wurde). Dieser Ansatz funktioniert mit chart.js, jedoch nicht mit chart.js 2.x
Code für Attribut-Direktive ist ...
%Vor%Styling ist ...
%Vor%Die Komponente, die dies verwendet, hat ...
%Vor%in der Vorlage.
alles ist wie erwartet. Die console.log-Anweisungen zeigen, dass ctx und this.myChart beide innerhalb des ngAfterViewInit-Lebenszyklus-Hooks definiert sind. Es gibt keine Fehler. Die Grafik wird einfach nicht angezeigt.
PS Der Chart.js v2-Code funktioniert außerhalb von Angular2 wie in dieser JS-Fiddle - Ссылка
Der einzige Unterschied zwischen dem JSFiddle und meinem Code ist der Hook in das DOM ...
%Vor%docs für die Attributrichtlinie und insbesondere für den DOM-Hook ist ... Ссылка
Der Hook element.nativeElement funktioniert für chart.js v1 mit angular2 (mit einem identischen Ansatz).
HINWEIS, dass github Repo ... Ссылка benutzt chart.js v1, das hilft also nicht
Hoffe jemand da draußen könnte eine Lösung kennen oder kann es reparieren! Vielen Dank im Voraus.
Heute ist die aktuelle Version 2.1.0. API hat Änderungen. Version 2.0-alpha wurde am 5. Juni 2015 veröffentlicht. Ссылка Version, die Sie in jsfiddle verwenden, ist 2.0.0-alpha4 (22. Juni 2015, Hash 9368c6079d989527dcd2072b6f18780b53e3113c)
Sie müssen Ihren Code wie folgt ändern:
%Vor%Siehe Arbeitsbeispiel mit Diagramm v2.0-alpha Ссылка
Wenn Sie Syntax 2.1.3 verwenden, können Sie folgendermaßen schreiben:
%Vor%Beispiel mit v2.1.3 Ссылка