冇事来学系--Vue2.0路由懒加载和axios优化

简介: 路由懒加载路由懒加载也可以叫做路由组件懒加载。经过了Webpack编译打包后,每个路由组件的代码分割成一个个js文件,初始化时不会加载这些js文件,只当激活路由组件才会去加载对应的js文件。

路由懒加载


路由懒加载也可以叫做路由组件懒加载。经过了Webpack编译打包后,每个路由组件的代码分割成一个个js文件,初始化时不会加载这些js文件,只当激活路由组件才会去加载对应的js文件

// 在src/router/index.js中
// 配置路由的一般写法
// 1.通过import引入组件
import Home from '../views/Home.vue'
import About from '../views/About.vue'
// 2.配置路由规则
const router = new VueRouter({
  routes:[
    {
      name: 'Home',
      path: '/',
      component: Home
    },
    {
      name: 'About',
      path: '/about',
      component: About
    }
  ]
})


要实现路由懒加载,则在配置路由规则的时候,需要使用import动态导入路由组件

// 在src/router/index.js中
// 给About组件设置懒加载
// 1.通过import引入组件
import Home from '../views/Home.vue'
const About = ()=> import  ('../views/About.vue' /* WebpackChunkName: "about" */ ) 
//设置的WebpackChunkName,决定了控制台中显示的懒加载的文件名字,若不写则懒加载的文件会显示为0.js
// 2.配置路由规则
const router = new VueRouter({
  routes:[
    {
      name: 'Home',
      path: '/',
      component: Home
    },
    {
      name: 'About',
      path: '/about',
      component: About
    }
  ]
})


<router-link> 的replace属性

  1. 给设置replace属性,控制路由跳转时操作浏览器历史记录的模式
  2. 浏览器的历史记录有两种写入模式,分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转的时候默认是push
  3. 设置replace只会替换最近的一条记录,不影响前面push追加的记录
  4. 开启replace模式:
<router-link replace to="/news">点我跳转</router-link>
<!-- 完整写法为  :replace="true" ,简写为replace -->


axios优化

平常使用axios请求数据,每次都要在组件中引入,略显麻烦

把axios挂载到vue实例的原型上并配置请求根路径

在main.js中引入axios,并让其成为vue实例的原型上的一个属性,这样就可以在所有组件中通过this来访问,而不用在每个组件中一一引入

import axios from 'axios'
// 全局配置axios的请求根路径
// axios.defaults.baseURL = '请求根路径'
axios.defaults.baseURL = 'http://www.liulongbin.top:3006'
Vue.prototype.$http = axios
// 挂载到vue的原型上,在组件中要使用axios发起请求,直接调用this.$http.get/post


<script>
  export default {
    methods: {
      async getInfo(){
        const {data: res} = await this.$http.get('/api/get')
        console.log(res)
      },
      async postInfo(){
        const {data: res} = await this.$http.post('/api/post', {name='zs', age=18})
        console.log(res)
      }
    }
  }
</script>



目录
相关文章
|
20天前
|
JavaScript
【vue】如何跳转路由到指定页面位置
【vue】如何跳转路由到指定页面位置
22 0
|
20天前
|
资源调度 JavaScript 前端开发
Vue的路由管理:VueRouter的配置和使用
【4月更文挑战第24天】VueRouter是Vue.js的官方路由管理器,用于在单页面应用中管理URL路径与组件的映射。通过安装并引入VueRouter,设置路由规则和创建router实例,可以实现不同路径下显示不同组件。主要组件包括:`&lt;router-link&gt;`用于创建导航链接,`&lt;router-view&gt;`负责渲染当前路由对应的组件。此外,VueRouter还支持编程式导航和各种高级特性,如嵌套路由、路由参数和守卫,以应对复杂路由场景。
|
20天前
|
JavaScript 数据可视化 算法
vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)
vue3+threejs可视化项目——搭建vue3+ts+antd路由布局(第一步)
44 6
|
4天前
|
JavaScript 程序员 网络架构
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
vue路由从入门到进阶 --- 声明式导航详细教程
|
4天前
|
资源调度 JavaScript UED
vue路由的基础知识总结,vueRouter插件的安装与使用
vue路由的基础知识总结,vueRouter插件的安装与使用
|
10天前
|
前端开发 JavaScript
1天搞定SpringBoot+Vue全栈开发 (7)Axios网络请求
1天搞定SpringBoot+Vue全栈开发 (7)Axios网络请求
|
11天前
|
缓存 JavaScript
一文彻底学会Vue路由
Vue Router简介,包括基本使用、嵌套路由、参数传递和路由守卫。首先,通过`npm i vue-router@3`安装,然后在`main.js`引入并应用。配置路由时,创建VueRouter实例,定义如`/home`、`/about`等路径及其对应组件。使用`&lt;router-link&gt;`进行切换,`&lt;router-view&gt;`展示组件。嵌套路由通过`children`配置多级路径,参数传递可使用`query`或`params`。路由守卫分为全局、独享和组件内三种,用于控制访问权限。
22 1
一文彻底学会Vue路由
|
18天前
|
资源调度 JavaScript 前端开发
阿珊详解Vue路由的两种模式:hash模式与history模式
阿珊详解Vue路由的两种模式:hash模式与history模式
|
20天前
|
JavaScript
vue中watch监听路由传来的参数变化问题
vue中watch监听路由传来的参数变化问题
12 0
|
20天前
|
缓存 JavaScript
在 Vue 组件中使用计算属性和侦听器来响应路由变化
【5月更文挑战第8天】Vue Router 中,计算属性和侦听器常用于根据路由变化更新组件状态。计算属性缓存依赖,当路由参数改变时自动更新,如示例中的 `userId`。侦听器则监听 `$route` 变化,执行相应操作,例如在 `currentUserId` 示例中响应 `userId` 更新。计算属性适合简单变化,而异步操作或复杂场景可选用侦听器。Vue 3 中,`watchEffect` 减少了部分侦听场景的复杂性。总之,它们用于组件内部响应路由变化,而非直接处理路由逻辑。
20 4