2017-11-23 4 views
0

chart.js를 사용하는 차트를 만드는 데 함수를 사용하고 있습니다. 불행히도 chart.destroy()를 호출 할 때마다 오류가 발생합니다.function - chart.destroy()가 함수가 아닌 경우 chart.js이 파손됩니다.

"chart.destroy()는 함수가 아닙니다." 내 코드는 다음과 같이 보입니다 :

var chart = {}; 
    createChart(x_axis_data, y_axis_data, chart); //Function creating chart 

자체는 다음과 같이 함수 내에서 생성 된 차트 :

chart = new Chart(document.getElementById(id),{.... 

이 차트가 성공적으로 만들어집니다. 그러나, 나는 chart.destroy를 호출하여 차트를 delte 할 수 없다. 나는 이미 어떤 성공하지

window.chart.destroy() 

를 사용하는 것을 시도했다.

+0

일부 기능에 대해 로컬 대신 차트를 전역으로 유지하는 변수를 만듭니다. jQuery를 사용하는 경우, 대상 ''요소에'.data ("chart")'를 사용하여 기존의 Chart 인스턴스가 있다면이를 가져올 수 있습니다. – Pointy

+0

내 변수가 이미 전역 변수가되어서는 안됩니까? 내 함수를 호출하고 내 함수에 전달하기 전에이 함수를 만듭니다. – JayJay

답변

1

chart =의 암시 적 함수에 의존하기보다는 window.chart =으로 설정하십시오. 코드에 엄격 모드를 사용했다면 경고 메시지가 표시됩니다.

+0

나는 아직도 오류가 발생합니다 : window.chart.destroy는 함수가 아닙니다. – JayJay

+1

내 실수를 발견했습니다. 나는 내 함수 안에 window.chart를 사용하는 것을 잊었다. – JayJay

관련 문제