VUE——添加组件模块(图表)
Vue是由一个个小模块组成的,模块可以让页面简介还可以复用:
1、不固定数据数量传到子组件
父组件:
<chartVue v-for="(item, index) in chartList" :key="index" :dtu-id="item.dtuId" :name="item.name" :dtu-fatcor="item.dtuFatcor" :data="item.data" :data-type="item.dataType" style="width:1000px;height:400px;" />
<script>
import echarts from 'echarts'
import chartVue from '@/views/history/chart'
import { flatMap, toArray } from 'rxjs/operators'
export default{ components:{ chartVue }, data(){ chartList: [], }, //方法 methods: { // from方法解析数组 from(factor(id)).pipe( flatMap(value=>{ this.chartList = [] if(value.code == 200){ return from(value.data) } }), toArray(), map(val =>{ this.chartList = val return val }) ).subscibe() } } </script>
子组件(ref接收的值是不固定的):
<template> <div ref="chart" class="app-container" /> </template> <script> import echart from 'echarts' import moment from 'moment' export default { name: 'Chart', props: [ 'dtuId', 'dtuFatcor', 'name', 'data', 'dataType' ], mounted() { // 获取历史数据时间 var that = this var chart = echart.init(this.$refs.chart) var xdata = [] var ydata = [] this.data.forEach(val => { xdata.push(moment(val.createdTime).format('YYYY-MM-DD HH:mm:ss')) if (this.dataType === '2011') { ydata.push(val.factorData) } else { ydata.push(val.factorAvgData) } }) chart.setOption({ title: { text: that.name }, tooltip: { trigger: 'axis' }, legend: { data: that.name }, toolbox: { show: true, feature: { saveAsImage: {} } }, xAxis: { type: 'category', boundaryGap: false, data: xdata }, yAxis: { type: 'value' // axisLabel: { // formatter: "{value} °C" // } }, series: [ { name: that.name, type: 'line', data: ydata, markPoint: { data: [ { type: 'max', name: '最大值' }, { type: 'min', name: '最小值' } ] }, markLine: { data: [{ type: 'average', name: '平均值' }] } } ] }) } } </script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理