मैं कोणीय 4 के साथ चार्ट.जेएस का उपयोग करने की कोशिश कर रहा हूं, मैंने chart.js दस्तावेज़ों पर एक उदाहरण देखा है, लेकिन यह स्क्रिप्ट खींचने के लिए < स्क्रिप्ट> टैग का उपयोग कर रहा है, इसलिए यह नहीं है घटक पर काम करते हैं। यह मैं कैसे कोणीय में फिट करने की कोशिश की है:कोणीय 4 पर चार्ट.जेएस का उपयोग करना
टीएस
export class GraphicsComponent implements OnInit {
ctx = document.getElementById("myChart");
myChart = new Chart(this.ctx, {
type: 'pie',
data: {
labels: ["New", "In Progress", "On Hold"],
datasets: [{
label: '# of Votes',
data: [1,2,3],
backgroundColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)'
],
borderWidth: 1
}]
},
options: {
responsive: false,
display:true
}
});
constructor() { }
ngOnInit() {
}
}
एचटीएमएल
<canvas id="myChart" width="700" height="400"></canvas>
किसी भी विचार कैसे मैं यह काम होगा?
संपादित करें: मैंने अपना कोड आयात के साथ अपडेट किया है और अब मुझे एक त्रुटि मिल रही है।
आयात कोड:
import * as Chart from 'chart.js'
क्रोम कंसोल पर त्रुटि:
ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'length' of null
TypeError: Cannot read property 'length' of null
at Object.acquireContext (platform.dom.js:333)
at Chart.construct (core.controller.js:74)
at new Chart (core.js:42)
at new GraphicsComponent (graphics.component.ts:12)
at createClass (core.es5.js:10922)
at createDirectiveInstance (core.es5.js:10756)
at createViewNodes (core.es5.js:12197)
at createRootView (core.es5.js:12092)
at callWithDebugContext (core.es5.js:13475)
at Object.debugCreateRootView [as createRootView] (core.es5.js:12792)
at Object.acquireContext (platform.dom.js:333)
at Chart.construct (core.controller.js:74)
at new Chart (core.js:42)
at new GraphicsComponent (graphics.component.ts:12)
at createClass (core.es5.js:10922)
at createDirectiveInstance (core.es5.js:10756)
at createViewNodes (core.es5.js:12197)
at createRootView (core.es5.js:12092)
at callWithDebugContext (core.es5.js:13475)
at Object.debugCreateRootView [as createRootView] (core.es5.js:12792)
at resolvePromise (zone.js:795)
at resolvePromise (zone.js:766)
at zone.js:844
at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:425)
at Object.onInvokeTask (core.es5.js:3881)
at ZoneDelegate.webpackJsonp.../../../../zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:424)
at Zone.webpackJsonp.../../../../zone.js/dist/zone.js.Zone.runTask (zone.js:192)
at drainMicroTaskQueue (zone.js:602)
at <anonymous>
मैंने स्थापित और आयात किया लेकिन मुझे एक त्रुटि मिल रही है। अद्यतन प्रश्न देखें। – Gustavo
@ गुस्तावो कुछ समस्याएं हैं जो मैं देख रहा हूं। सबसे पहले यह है कि आप अपने घटकों के दृश्य भी उपलब्ध होने से पहले डीओएम से पूछने की कोशिश कर रहे हैं। दूसरा यह है कि आपको 2 डी संदर्भ नहीं मिल रहा है। मैं इन उत्तरों को तुरंत संबोधित करने के लिए अपना उत्तर अपडेट करूंगा –
यह काम करता है, बहुत बहुत धन्यवाद! – Gustavo