因为项目样式的问题,所以没有选择去使用路由跳转,而是在一个页面当中import。

这样随之而来的问题就是进来默认加载造成的页面非常卡...

那么想了一个办法解决这个问题

利用组件重新加载 详细 > 传送门

最开始是 定义一个数组 push数据,然后遍历,如果有的话返回个true给组件上面的v-if显示数据。

这是我的代码。(修改前)

<a @click="clickADD(3)"><li><span>首页</span></li></a>
<a @click="clickADD(4)"><li><span>信息</span></li></a><Test03 v-if="StateCheck(3)" />
<Test04 v-if="StateCheck(4)" />

function

<script>
import Test03 from '@/components/Test/Test03'
import Test04 from '@/components/Test/Test04'
export default {name: "Index",components: {Test03,Test04,},data(){return{ShowState:[],}},methods:{clickADD(item){this.ShowState.push(item);},StateCheck(item){for(let i = 0 ; i < this.ShowState.length ; i++){if(this.ShowState[i] == item)  return true;}return false;}},
};
</script>

这样子的弊端是,首次加载效果比较好,如果是数据需要进入一次刷新一次的就不是特别的好了。所以我修改了一下代码

(因为项目上了ts 所以用的 ts语法 还加了setup)请按需修改

<a @click="clickADD(3)"><li><span>首页</span></li></a>
<a @click="clickADD(4)"><li><span>信息</span></li></a><Test03 v-if="testState3" />
<Test04 v-if="testState4" />

function

<script lang="ts" setup>import Test03 from '@/components/Test/Test03.vue'import Test04 from '@/components/Test/Test04.vue'import { nextTick,ref } from 'vue-demi';let testState3:any = ref(false);let testState4:any = ref(false);function clickADD(item:Number){eval("testState"+item+".value=false")nextTick(function () {eval("testState"+item+".value=true") // 重新加载组件.}) }
</script>

这样子点对应的导航会重新加载一次组件。

提供一个可行的思路。如果还有更简单的方法戳我!

关于vue的组件重新加载相关推荐

  1. vue 父组件重新加载子组件

    vue 父组件重新加载子组件 通过 给子组件添加key或者v-if 重新加载子组件: html: <button @click="update">更新</butt ...

  2. Vue 单文件组件||Vue 单文件组件的基本用法||webpack 中配置 vue 组件的加载器|| 在 webpack 项目中使用 vue

    Vue 单文件组件 传统组件的问题和解决方案 1. 问题 1. 全局定义的组件必须保证组件的名称不重复 2. 字符串模板缺乏语法高亮,在 HTML 有多行的时候,需要用到丑陋的 \ 3. 不支持 CS ...

  3. webpack和vue的按需加载组件、console、抓包

    1.webpack和vue的按需加载组件 webpack特有的懒加载文件的方式,很大的提升了webpack打包SPA应用的在性能方面. 而从webpack2以后require.ensure已经被imp ...

  4. vue延迟渲染组件_性能优化之组件懒加载: Vue Lazy Component 介绍

    这篇文章分享了从遇到前端业务性能问题,到分析.解决并且梳理出通用的Vue 2.x 组件级懒加载解决方案(Vue Lazy Component )的过程. 初始加载资源过多 问题起源于我们的一个页面,下 ...

  5. vue 组件延时加载_为什么以及如何延迟加载角组件

    vue 组件延时加载 "Before software can be reusable it first has to be usable." "在软件可重用之前,首先必 ...

  6. vue的路由组件的引入以及路由组件懒加载和router-link

    App.vue <template><div><router-link to="/">首页</router-link><rou ...

  7. vue实现当前组件重新加载

    遇到问题的场景: 数据发生了变化,组件并没有响应到 问题所在 需要把当前组件完全还原成初始化状态,不要页面全部刷新 4种解决方法: 重新加载整个页面(不推荐) v-if可以实现 true (加载)和f ...

  8. Vue中使用Openlayers加载Geoserver发布的TileWMS时单击获取shp文件的坐标信息

    场景 Vue中使用Openlayers加载Geoserver发布的TileWMS: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/ ...

  9. Vue中使用Openlayers加载Geoserver发布的TileWMS

    场景 Openlayers下载与加载geoserver的wms服务显示地图: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/114 ...

最新文章

  1. 枚举 ---- B. Power Sequence[Codeforces Round #666 (Div. 2)][暴力]
  2. cmake 编译Release版本
  3. Drupal 覆写系统样式
  4. 解决Vmware中安装Ubuntu Server 14.04 分辨率无法全屏问题
  5. 排序算法:希尔排序算法实现及分析
  6. 测试nignx php请求并发数,Nginx 高级篇(八)ab 压力测试即 nginx 的性能统计模块...
  7. macOS中LaTeX报错Package fontspec Error: The font “SimHei“ cannot be found
  8. 算法设计与分析 —— 排列问题
  9. 查找类似图片关键字查找图片
  10. dw做html电邮,DreamWeaver中表单的使用和电子邮件表单的制作
  11. 1700x关闭超线程超频_关闭锐龙9 3900X超线程 游戏帧数居然更高
  12. iphone5计算机没有了,电脑无法识别iphone5怎么解决
  13. 【论文制图】chemdraw安装与使用
  14. 移动apn接入点哪个快_2020年北京移动电信联通校园卡5G网速究竟有多快?
  15. Linux网络知识--DHCP服务(理论部分)
  16. Snipe IT资产管理系统(phpstudy_pro)搭建笔记
  17. Android直播软件开发中接入腾讯IM大概流程是怎样的
  18. 语音情感识别常见的声学特征
  19. 质数与合数系列——素数判断
  20. ORB_原理与源码解析

热门文章

  1. 使用串口发送实现ACX720开发板时钟显示
  2. 如何在iPhone,iPad和Mac上自动切换AirPods
  3. Python数据挖掘入门与实践-OneR分类算法
  4. Java程序员情人节_关于程序员:一封来自Java程序员的情书
  5. python(3.10,Win10 64位)的wordcloud安装
  6. requests框架详解
  7. Python 各种扩展名(py, pyc, pyw, pyo, pyd)区别
  8. 一个爬取图片的app
  9. 【19周-星耀】FASTER!FASTER!FASTER!
  10. 为湖北带货,1.2亿人围观!朱广权联手李佳琦隔空直播卖出4014万