以后如何绑定 billboardjs 图表?
How can I bind at a later time a billboardjs chart?
The docs说当图表未绑定时,它会开始观察chart.element属性。我试过不为传递给生成的选项对象设置 bindto 属性,并将其设置为 null。
但是,如果我稍后将 chart.element 属性 设置为任何值,即 chart.element = document.getElementById("#chart-here")
,什么都不会发生。
正确的做法是什么?还是我误解了什么?
谢谢
你只需要使用 setTimeout
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
var generateChart = function () {
bb.generate({
data: {
columns: [
["data1", 30, 200, 100, 400, 150, 250],
["data2", 50, 20, 10, 40, 15, 25]
]
},
bindto: "#chart-here"
});
};
setTimeout(generateChart, 2000)
<title>billboard.js</title>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/billboard.js/dist/billboard.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/billboard.js/dist/billboard.min.css">
Chart will appear in 2 seconds...
<div id="chart-here"></div>
The docs说当图表未绑定时,它会开始观察chart.element属性。我试过不为传递给生成的选项对象设置 bindto 属性,并将其设置为 null。
但是,如果我稍后将 chart.element 属性 设置为任何值,即 chart.element = document.getElementById("#chart-here")
,什么都不会发生。
正确的做法是什么?还是我误解了什么? 谢谢
你只需要使用 setTimeout
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout
var generateChart = function () {
bb.generate({
data: {
columns: [
["data1", 30, 200, 100, 400, 150, 250],
["data2", 50, 20, 10, 40, 15, 25]
]
},
bindto: "#chart-here"
});
};
setTimeout(generateChart, 2000)
<title>billboard.js</title>
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/billboard.js/dist/billboard.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/billboard.js/dist/billboard.min.css">
Chart will appear in 2 seconds...
<div id="chart-here"></div>