vue2 加 echarts 写一个温度计
时间: 2023-11-18 14:13:32 浏览: 165
Vue + Echarts 实现中国地图多级钻取功能.zip
5星 · 资源好评率100%
好的,以下是一个基于 Vue 2.x 和 Echarts 的温度计示例:
首先在 `index.html` 中引入 Echarts 库:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue + Echarts</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts"></script>
</head>
<body>
<div id="app"></div>
<script src="./main.js"></script>
</body>
</html>
```
然后在 `main.js` 中定义一个 `Thermometer` 组件:
```js
Vue.component('thermometer', {
props: {
temperature: {
type: Number,
required: true,
},
},
mounted() {
this.initChart();
},
methods: {
initChart() {
const chart = echarts.init(this.$el);
const option = {
series: [
{
type: 'liquidFill',
data: [this.temperature / 100],
radius: '80%',
backgroundStyle: {
color: '#f5f5f5',
},
label: {
normal: {
formatter: (params) => {
return `${(params.value * 100).toFixed(1)}%`;
},
textStyle: {
fontSize: 16,
},
},
},
},
],
};
chart.setOption(option);
},
},
template: '<div style="width: 200px; height: 400px;"></div>',
});
new Vue({
el: '#app',
data() {
return {
temperature: 25,
};
},
});
```
上面的代码中,`Thermometer` 组件使用了 Echarts 中的 `liquidFill` 系列来实现温度计的效果。在组件的 `mounted` 钩子中初始化图表,并在 `initChart` 方法中设置图表的配置项和数据。在模板中,使用一个 `div` 元素作为温度计的容器,并设置其宽度和高度。
最后,在应用中使用该组件,并传入温度值:
```html
<div id="app">
<thermometer :temperature="temperature"></thermometer>
</div>
```
这样就可以实现一个简单的温度计效果了,温度值的变化会随着数据的更新而自动更新。
阅读全文