nuxt3框架使用echarts切换菜单时候出现挤压问题

博主在使用Nuxt3框架时遇到了页面加载顺序问题导致显示异常。通过延迟加载CSS样式解决,推测为框架加载机制所致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

切换菜单回来后发现这样
在这里插入图片描述
F5刷新后
在这里插入图片描述
我在想这尼玛不是个奇葩??nuxt3这个新框架真的是给狗都不用,要不是它出厂自带服务器渲染,TMD
在这里插入图片描述
于是我各种寻找问题,然后我想了一下,如果我延迟300在加载呢?
在这里插入图片描述
在这里插入图片描述
果然不出我所料,好了!如果我没猜错nuxt是先加载了这些画布比CSS先加载好,以后遇到这种问题就延迟加载就可以了,最后吐槽一下这框架真尼ma狗血

### 集成 `vue-echarts` 到 Nuxt3 项目 为了在 Nuxt3使用 `vue-echarts` 来实现地图可视化,需遵循特定步骤来安装依赖项、配置插件以及编写必要的代码。 #### 安装依赖包 首先,在命令行工具中执行如下 npm 命令以安装所需的库: ```bash npm install echarts vue-echarts ``` 这会下载并安装 ECharts 和其 Vue 组件到当前项目环境中[^4]。 #### 创建 ECharts 插件 接着,在项目的 `plugins` 文件夹内新建名为 `echarts.client.ts` 的文件,并加入以下内容用于初始化 ECharts 并将其提供给整个应用范围内的组件访问: ```typescript import { defineNuxtPlugin } from &#39;#app&#39; import VChart, { THEME_KEY } from &#39;vue-echarts&#39; export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.component(&#39;v-chart&#39;, VChart) nuxtApp.vueApp.provide(THEME_KEY, &#39;light&#39;) }) ``` 这段代码不仅注册了全局可用的 `<v-chart>` 自定义标签,还设定了默认主题为浅色模式。注意这里使用 `.client.ts` 后缀名是为了确保此插件仅运行于客户端环境之中[^1]。 #### 使用中国地图数据集 为了让 ECharts 支持绘制中国的地理信息图表,还需要引入相应的 GeoJSON 数据源。可以通过官方提供的方法加载内置的地图资源或自行获取外部 JSON 文件作为补充材料。对于前者而言,只需简单调用 registerMap 函数即可完成注册工作: ```javascript // 在适当位置添加该段脚本 import * as ChinaMapData from &#39;@jiaminghi/data/china.json&#39;; import * as echarts from "echarts"; echarts.registerMap(&#39;china&#39;, ChinaMapData); ``` 上述操作使得后续可以指定 `&#39;china&#39;` 参数轻松引用已登记过的国家版图轮廓[^2]。 #### 编写页面逻辑 最后一步是在目标页面里利用之前准备好的一切构建实际的地图视图效果。假设有一个简单的布局结构如下所示,则可以在对应的 script 节点内部设置 option 属性从而定制化呈现形式: ```html <template> <div class="map-container"> <v-chart :option="chartOption"/> </div> </template> <script setup lang="ts"> const chartOption = reactive({ title: { text: &#39;全国疫情分布&#39;, subtext: &#39;&#39;, left: &#39;center&#39; }, tooltip: { trigger: &#39;item&#39; }, visualMap: { min: 0, max: 1000, left: &#39;left&#39;, top: &#39;bottom&#39;, text: [&#39;高&#39;, &#39;低&#39;], calculable: true }, series: [ { name: &#39;确诊人数&#39;, type: &#39;map&#39;, mapType: &#39;china&#39;, roam: false, label: { show: true }, data:[ // 这里填入具体省份的确诊数统计... ] } ] }); </script> <style scoped> .map-container{ width: 100%; height: 600px; } </style> ``` 通过以上设定,便能够在网页上看到一张带有交互功能的中国大陆地区地图,并且可以根据需求进一步调整样式参数达到理想中的视觉表现[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橙子cms

node+express扫码获

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值