私のAngular 4アプリケーション内で広く使用されている2つのライブラリ:ng-bootstrap
(ng-bootstrap)とHighcharts
(Highcharts)の間には、奇妙なやりとりがあります。ように、data-selection
とmetering-chart
:角度のあるサードパーティのライブラリのやりとり
は、私は2つの子コンポーネントを含むこのmetering
コンポーネントを持っているdata-selection
には、以下が含まれ
<div>
<data-selection (selectedEntities)="onSelectedData()"></data-selection>
<button (click)="loadMeteringData()">Load Data</button>
<metering-chart *ngIf="chartData" [chartData]="chartData"></metering-chart>
</div>
からは剥奪 - テンプレート:
[...]
<form class="form-inline">
<div class="form-group">
[...]
<div class="input-group">
<input class="form-control"
placeholder="yyyy-mm-dd"
name="dpStart"
[(ngModel)]="startDateModel"
ngbDatepicker
#startDate="ngbDatepicker">
<div class="input-group-addon"
(click)="startDate.toggle()">
<i class="fa fa-calendar"></i>
</div>
[...]
</div>
</div>
</form>
[...]
とmetering-chart
コンポーネントに含まれるもの:
<chart [options]="options"
(load)="createChartObject($event.context)"
(drilldown)="drilledDown($event)"
(drillup)="drilledUp($event)" style="width:100%; display: inline-block; "></chart>
metering
成分はRoutingModule
によってインポート順にあるRoutes
ファイルで宣言さrouter-outlet
あります。このRoutingModule
輸入SharedModule
(両方の子コンポーネント:data-selection
とmetering-chart
が宣言され、輸出されている)、そして はメインAppModule
によってインポートされます。
最初metering
のchartData
が不定であるため、metering-chart
成分は表示されません。この間、デートピッカーは魅力的に機能します。
しかし、チャートのデータとチャート自体をロードするためにボタンをクリックしても、日付ピッカーのポップアップコンテナが応答しなくなることがあります。
私は問題が再現されたplunkerを作成しようとしましたが、無駄に...しかし、ここで何が起こっているかを示すGIFだ:
モデル、あなたが見ることができるように日付が入力フィールドに直接入力されると、更新中です。しかし、いずれかの日付をクリックすると、何の結果も得られません。
私が使用しています次:私は重要な何かがあるべきならば、ということをそんなにアーキテクチャまたはコンポーネントの相互作用に関するトンより多くの情報を提供しますが、ありますができ
Angular v. 4.0.1
angular2-highcharts v. 0.5.5
ng-bootstrap v. 1.0.0-alpha.27
私の質問から抜けて、私に教えてください。私はそれをすべて提供します。問題は、ライブラリ間の相互作用の不良ではなく、むしろchart
要素の誤った作成に存在しない
:
ここでは、plunkや他のhttp://stackoverflow.com/help/mcveを使わないで解決策を提案することはほとんどありません。問題を再現できない場合、回答者はどのようにこれを行うことができますか? – estus
私は難しさを認識しています。私はこのような相互作用が、より明るく広範な心にいくつかのアイデアを喚起することを期待していました...私の質問のあいまいさを完全によく理解しているので、私はこの問題をプランナーに再現しようとしました。にもかかわらず、誰かがこの問題についていくつかの光を当てることを望んだ...結局のところ、Plunkerはいつも周りにいなかった... –
Plunkerは周りにはなかったが、SOルールではMCVEが必要であり、問題をデバッグする時間を惜しまない人がいるということです。 AngularやJSの理論上の質問やHighcharts/Bootstrap /動いている部分が多すぎるので、これは控除だけで解決することはできません。 – estus