私はPrimeNG tabにGoogle Chartを埋め込むようにしています。私はAngular 2 Google Chart packageのフォークを使用しています。私がチャートで最初にページに移動すると、すべてが期待通りに機能します。私は離れて移動し、戻ったときしかし、私は次のエラーを取得する:要素が角度2で定義されるのを待つ
Error in ./MyChartComponent class MyChartComponent - inline template:1:5 caused by: The container #my_chart is not defined.
これは、彼らが存在していなかったのdivにチャートを描画しようとしていた場合は、1つはなるだろうと同じエラーです。私が知る限り、
1)グラフライブラリの取得中に遅延があり、<div id="my_chart"...>
要素をレンダリングできるため、初めて動作します。 2)経路が再オープンされると、一連のイベントが発生し、divにDOMが含まれる前に、図表ライブラリがdivの内容を設定しようとします。
チャートコンポーネントは、PrimeNGタブに埋め込まれていないと正常に動作します。私は、イベントが発生する順序がこれによって壊れていると思われます。 PrimeNGのタブでコンテンツを<ng-content>
に入れたというリファレンスが見つかりました。これがコンポーネントのライフサイクルで何らかの親子関係を壊した場合、 "my_chart" divが存在するまで@Input
をチャートコンポーネントに設定するのを待つ何らかの方法が必要と思われます。
私はさまざまなAngularライフサイクルフックのドキュメントを掘り下げましたが、この問題を解決できませんでした。どんな忠告も高く評価されます。