我有以下錯誤:TypeError:無法讀取未定義的屬性'skip'。Angular ASP.NET Core Chart.js在過濾值列表時重建圖表時出現錯誤
我有一個方法,在我的應用程序中建立一個圖表。出現這種情況的OnInit
var ctx = document.getElementById("myChart");
var chartInstance = new Chart(ctx);
var myChart = new Chart(ctx, {
type: 'line',
data: {
labels :this.equity,
datasets: [{
data: this.equity
}]
}
});
}
this.equity是,我使用來自服務器的數據的客戶端側計算值的陣列。這是我稍後過濾的列表。
一切都很順利,直到我開始過濾。該圖表是建立在列表中的值上的。我編寫了一個過濾器,用各種選項過濾列表。在每次過濾結束時,我再次調用上面的方法來重建圖表。
現在,這裏是奇怪的事情開始發生。圖表順利重建。我用不同的選項過濾很多次,然後在某個時刻繁榮,我得到這個錯誤!當我按下過濾器時,它不會在某個特定時刻發生,它只會發生。
我認爲這是因爲每次我創建一個新的圖表對象併爲其提供新值。值的變量與舊對象相同,並且會導致錯誤,因爲在某個時間點,Angular會檢出舊對象,並且它已經有一個與舊列表不匹配的新值列表。
這對任何人都有好處嗎?現在是否有人在創建新圖表對象的時候如何清空舊圖表對象,這樣可以解決這個問題?謝謝!
謝謝。似乎這是行得通的。它也似乎你應該摧毀圖表對象時離開的頁面(組件),因爲現在我沒有得到錯誤的過濾,但如果我離開,回來後,他們出現一會兒。 –
是的!到現在爲止還挺好。更新()過濾並使用此if(myChart)myChart.destroy();是OnInit()。 –