Chart js, Canvas 为空聚合物项目
Chart js, Canvas is null polymer project
我正在从事一个聚合物项目,但仍在寻找解决办法。我正在尝试使用图表 js 并尝试了多种方法并在网上查找了其他问题,但没有任何帮助,所以我不得不寻求一些指导或在哪里可以解决我的问题。
这是我正在处理的聚合物项目,我正在处理的 html 文件具有以下结构:
<link rel="import" href="../bower_components/iron-list/iron-list.html">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.min.js"></script>
<dom-module id="sensors-app">
<template>
<style>
</style>
<div>
<canvas id="chart"></canvas>
</div>
<app-header-layout fullbleed>
</app-header>
<iron-list onload="myFunction()" id="list" items="[[sensorDataModel]]" as="item" scroll-target="document">
<template>
<div>
</div>
</template>
</iron-list>
</app-header-layout>
</template>
<script>
var ctx = document.getElementById("chart").getContext("2d");
class SensorsApp extends Polymer.Element {
static get is() { return 'sensors-app'; }
static get properties() {
return {
sensorDataModel: {
type: Array,
value: [],
}
};
}
// rest of the code
}
window.customElements.define(SensorsApp.is, SensorsApp);
</script>
</dom-module>
这是一个学校项目,我试图了解是否发生了错误,因为我将 canvas 放在了错误的位置或其他我不理解的地方。任何帮助将不胜感激。我删除了代码但保留了结构,因为如果不这样做,post 会非常冗长。
如果我问的是一个愚蠢的问题,我很抱歉,我大部分时间都在后端工作,这是突然出现的,只是想学习,我在这么短的时间内几乎无法解决 javascript,我希望我可以得到一些想法我做错了什么 canvas 总是空的。这是我得到的错误:
sensors-app.html:142 Uncaught TypeError: Cannot read property 'getContext' of null
可以在polymer的ready方法中获取元素class,这样在调用ready的时候,元素已经定义好,不会为null。您可以使用以下代码
class SensorsApp extends Polymer.Element {
ready(){
super.ready();
var ctx = this.shadowRoot.querySelector("#chart").getContext("2d");
}
}
我正在从事一个聚合物项目,但仍在寻找解决办法。我正在尝试使用图表 js 并尝试了多种方法并在网上查找了其他问题,但没有任何帮助,所以我不得不寻求一些指导或在哪里可以解决我的问题。
这是我正在处理的聚合物项目,我正在处理的 html 文件具有以下结构:
<link rel="import" href="../bower_components/iron-list/iron-list.html">
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.min.js"></script>
<dom-module id="sensors-app">
<template>
<style>
</style>
<div>
<canvas id="chart"></canvas>
</div>
<app-header-layout fullbleed>
</app-header>
<iron-list onload="myFunction()" id="list" items="[[sensorDataModel]]" as="item" scroll-target="document">
<template>
<div>
</div>
</template>
</iron-list>
</app-header-layout>
</template>
<script>
var ctx = document.getElementById("chart").getContext("2d");
class SensorsApp extends Polymer.Element {
static get is() { return 'sensors-app'; }
static get properties() {
return {
sensorDataModel: {
type: Array,
value: [],
}
};
}
// rest of the code
}
window.customElements.define(SensorsApp.is, SensorsApp);
</script>
</dom-module>
这是一个学校项目,我试图了解是否发生了错误,因为我将 canvas 放在了错误的位置或其他我不理解的地方。任何帮助将不胜感激。我删除了代码但保留了结构,因为如果不这样做,post 会非常冗长。 如果我问的是一个愚蠢的问题,我很抱歉,我大部分时间都在后端工作,这是突然出现的,只是想学习,我在这么短的时间内几乎无法解决 javascript,我希望我可以得到一些想法我做错了什么 canvas 总是空的。这是我得到的错误:
sensors-app.html:142 Uncaught TypeError: Cannot read property 'getContext' of null
可以在polymer的ready方法中获取元素class,这样在调用ready的时候,元素已经定义好,不会为null。您可以使用以下代码
class SensorsApp extends Polymer.Element {
ready(){
super.ready();
var ctx = this.shadowRoot.querySelector("#chart").getContext("2d");
}
}