为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题

为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题,可以通过以下步骤实现:

  1. 在路由配置中使用Webpack提供的代码分割功能,将各个路由对应的组件打包为单独的js文件,实现懒加载。具体代码示例:
const Foo = () => import('./Foo.vue')
const Bar = () => import('./Bar.vue')

export default new Router({
  routes: [
    { path: '/foo', component: Foo },
    { path: '/bar', component: Bar }
  ]
})
  1. 在路由切换时,展示一个全局的loading组件,以提示用户系统正在加载。

具体实现方法:

在App.vue文件中添加以下代码:

<template>
  <div id="app">
    <loading v-if="loading"></loading>
    <router-view :key="key"></router-view>
  </div>
</template>

<script>
import Loading from './components/Loading.vue'
export default {
  components: {
    Loading
  },
  data () {
    return {
      loading: true,
      key: 0
    }
  },
  watch: {
    $route (to, from) {
      this.loading = true
      this.key++
    }
  },
  mounted () {
    this.loading = false
  }
}
</script>

其中,loading为是否显示loading组件的状态,key为路由切换时,为router-view动态绑定一个key,以达到强制重新渲染的目的。监听$route的变化,每次路由切换时开启loading状态,并改变key的值,以更新router-view的内容。mounted函数中,将loading状态设置为false,表示路由切换完成。

  1. 在打包过程中,将各个页面组件的js文件名添加hash值,实现浏览器缓存文件版本的更新。具体代码示例:

webpack.prod.config.js

output: {
  path: path.resolve(__dirname, '../dist'),
  filename: '[name].[chunkhash].js',
  chunkFilename: '[id].[chunkhash].js'
}

通过上述方法,在vue-router懒加载时下载js的过程中添加loading提示,可以有效避免无响应问题,并且在网站更新时用户可以及时获取到最新版本的组件文件。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • iOS实现底部弹出PopupWindow效果 iOS改变背景透明效果

    iOS实现底部弹出PopupWindow效果 在iOS开发中,我们可以使用以下步骤实现底部弹出PopupWindow效果,并改变背景透明度。 步骤一:创建PopupWindow视图 首先,我们需要创建一个自定义的视图来实现PopupWindow效果。可以使用UIView或者UIWindow来创建视图,具体选择取决于你的需求。 示例代码: import UIK…

    other 2023年8月21日
    00
  • Kotlin Fragment的具体使用详解

    Kotlin Fragment的具体使用详解 在Android开发中,Fragment是一种可以嵌入到Activity中的组件,用于实现模块化和可重用的界面。Kotlin Fragment是使用Kotlin语言编写的Fragment,它提供了更简洁、安全和易用的方式来创建和管理Fragment。 创建Kotlin Fragment 要创建一个Kotlin F…

    other 2023年9月6日
    00
  • ios14.6更新了什么 苹果ios14.6更新内容一览

    iOS 14.6 更新内容一览 苹果于2023年5月发布了 iOS 14.6 更新,该更新带来了一些新功能、改进和修复。以下是 iOS 14.6 更新的详细内容: 1. Apple Music 空间音频(Spatial Audio)支持:iOS 14.6 引入了空间音频功能,使 Apple Music 用户能够享受到更加沉浸式的音频体验。空间音频通过利用头部…

    other 2023年8月3日
    00
  • Java中super和this的用法详解

    当在某个类中定义同名的属性或方法时,Java使用关键字super和this来区分当前类中的成员和其从父类中继承的成员。本文将详细解释Java中super和this的用法。 1. super关键字的用法 关键字super可以用来引用父类中的域和方法。下面是两个示例: 示例1: class Parent{ public int number = 10; } cl…

    other 2023年6月26日
    00
  • 电脑总重启提示Dcom server process服务意外终止怎么办?

    电脑总重启提示Dcom server process服务意外终止怎么办? 如果您的电脑出现了总是重启且提示Dcom server process服务意外终止的问题,可能会影响您的正常使用。但是通过以下的步骤进行简单的解决,您可以很快恢复您的电脑。 1.了解问题原因 Dcom server process服务是一种接口,它允许多个应用程序通过网络相互通信。当D…

    other 2023年6月27日
    00
  • 升级win11蓝屏重启怎么办?升级Win11蓝屏重启解决方法

    升级Win11蓝屏重启怎么办? 在升级Windows 11系统的过程中,如果遇到蓝屏重启的问题,可能是由于电脑硬件配置、驱动兼容性等原因所引起的。本文将为大家提供几种可行的解决方案。 解决方法一:检查电脑配置 在升级系统之前,我们需要确保电脑支持Windows 11系统的最低配置要求。如下是Windows 11系统最低硬件配置: CPU:64位2.0 GHz…

    other 2023年6月27日
    00
  • PostgreSQL 实现查询表字段信息SQL脚本

    PostgreSQL 是一个常用的关系型数据库系统,支持许多 SQL 操作,本文将介绍如何实现查询表字段信息 SQL 脚本的方法。 使用信息模式表查询表字段信息 PostgreSQL 中有一个名为 information_schema 的信息模式表,包含了所有的元数据信息,我们可以通过查询该表来获取指定表的字段信息。具体步骤如下: 使用 USE 命令选择相应…

    other 2023年6月25日
    00
  • C语言中网络地址与二进制数之间转换的函数小结

    下面是本人对于“C语言中网络地址与二进制数之间转换的函数小结”的攻略: 网络地址与二进制数的转换 在进行网络编程时,经常需要将IP地址和端口号表示成二进制数(例如:IPv4地址是32位的二进制数),也需要将二进制数转换成IP地址和端口号表示。 这里推荐C语言提供的一些库函数以及方法。 函数1:inet_pton 函数inet_pton可以将一个字符串形式的I…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部