2016-11-03 6 views
1

コンポーネントに戻ってナビゲートするときに、ドーナツチャートを更新する必要があります。それは、チャートのレンダリング瞬間にあるので離れて移動し、値が更新されますときには、ページのロードグラフを更新するIonic 2 Chart.js

ionViewDidLoad() { 
    this.renderChart(this.title, this.score, this.difference); 
} 

がHTML

<chart [options]="options"></chart> 

しかし、それはdoesntのとき

renderChart(oplTitle, oplScore, oplScoreDifference) { 
this.options = { 
    type: 'doughnut', 
    data: { 
    labels: ["Opl progress", ""], 
    datasets: [{ 
     borderWidth: 0, 
     data: [oplScore, oplScoreDifference], 
     backgroundColor: [ 
     'rgba(250, 203, 27, 0.9)', 
     'rgba(255, 255, 255, 1)' 
     ], 
     borderColor: [ 
     'rgba(250, 203, 27, 1)', 
     'rgba(250, 203, 27, 1)' 
     ], 
    }] 
    }, 
    options: { 
    responsive: true, 
    title: { 
     display: true, 
     text: oplTitle, 
     position: 'bottom' 
    }, 
    tooltips: { 
     enabled: false, 
     backgroundColor: 'rgba(250, 203, 27, 1)' 
    }, 
    legend: { 
     display: false, 
     labels: { 
     boxWidth: 20 
     } 
    } 
    } 
    } 
    } 

私はrenderChartを呼び出しますページに戻るときにリフレッシュします。ページが読み込まれたとき、どのように私は...あなたは、ドキュメントにionViewDidLoadイベントを見ることができるように、ため

+0

基本的に、あなたが望むのは、 'navCtrl.pop()'がチャートの子ページで実行されるときに値を設定したり、関数を呼び出すことができるということです。その場合、この質問に関する一番上の回答は、私が信じるまともな回答を提供するため、 – Ivaro18

+0

です。 http://stackoverflow.com/questions/36325641/how-to-reload-the-ion-page-after-pop-in-ionic2 – Ivaro18

答えて

2

問題がある

ランを[更新]することができます。このイベントは、ページ が作成されるたびに1回だけ発生します。 ページが去ってもキャッシュされている場合、このイベントは、の次の表示で が再び発生しません。 ionViewDidLoadイベントは、 ページのセットアップコードを置くのに適しています。

ページがキャッシュされているため、イベントは1回だけ(ページの作成時に)実行されています。それ以降はionViewDidEnterページイベントを使用してください。

ページが完全に入力され、現在アクティブなページになったときに実行されます。 この イベントは、最初のロードであっても、キャッシュされたページであっても起動します

さらに詳しい情報はhereです。

関連する問題