前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >动态路由,懒加载,嵌套路由,路由传参

动态路由,懒加载,嵌套路由,路由传参

作者头像
名字是乱打的
发布2021-12-23 17:32:48
3.3K0
发布2021-12-23 17:32:48
举报
文章被收录于专栏:软件工程软件工程

一 .动态路由

在某些情况下,一个页面的path路径可能是不确定的,比如我们进入用户界面时,希望是如下的路径: /user/aaaa或/user/bbbb 除了有前面的/user之外,后面还跟上了用户的ID 这种path和Component的匹配关系,我们称之为动态路由(也是路由传递数据的一种方式)。

demo步骤

1.

2.

3.

二 .懒加载

先看一下不用懒加载的话,项目打包后的JS结构,所有的业务代码都放在了一个js里

当打包构建应用时,Javascript 包会变得非常大,影响页面加载甚至用户的电脑上还出现了短暂空白的情况。

如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了

路由懒加载做了什么?

路由懒加载的主要作用就是将路由对应的组件打包成一个个的js代码块.只有在这个路由被访问到的时候, 才加载对应的组件

使用懒加载的方式对比以及打包后的效果对比

Vue router懒加载的方式有三种

方式一: 结合Vue的异步组件和Webpack的代码分析. const Home = resolve => { require.ensure(['../components/Home.vue'], () => { resolve(require('../components/Home.vue')) })};

方式二: AMD写法 const About = resolve => require(['../components/About.vue'], resolve); 方式三: 在ES6中, 我们可以有更加简单的写法来组织Vue异步组件和Webpack的代码分割. const Home = () => import('../components/Home.vue')

  • 对于ES6中代码懒加载方式有两种写法 写法一:导入和映射分离写法

写法二:导入和映射合并写法

三 嵌套路由

嵌套路由是一个很常见的功能 比如在home页面中, 我们希望通过/home/news和/home/message访问一些内容. 一个路径映射一个组件, 访问这两个路径也会分别渲染两个组件.

嵌套路由配置方式

四. 路由传参

传递参数主要有两种类型: params和query
  • params的类型:
    • 配置路由格式: { path: '/user/:userid',component: ()=> import('../components/user') }
    • 路由连接上在to组件后跟上对应的值<router-link:to="/user/'+userId">用户</router-link>
    • 传递后在URL形成的路径: /router/123, /router/abc
    • 我们也可以直接取值在本组件用:{{$route.params.userid}}
  • query的类型:
    • 配置路由格式: /router, 也就是普通配置
    • 传递的方式: 对象中使用query的key作为传递方式
    • 传递后形成的路径: /router?id=123, /router?id=abc<router-link>方式,直接在router-link里写

    JavaScript

使用它们也有两种方式: <router-link>的方式和JavaScript代码方式

<router-link>方式

JavaScript代码方式

$route$router是有区别的

router为VueRouter实例,想要导航到不同URL,则使用router.push方法

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/11/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 .动态路由
    • demo步骤
    • 二 .懒加载
    • 三 嵌套路由
    • 四. 路由传参
    相关产品与服务
    腾讯云代码分析
    腾讯云代码分析(内部代号CodeDog)是集众多代码分析工具的云原生、分布式、高性能的代码综合分析跟踪管理平台,其主要功能是持续跟踪分析代码,观测项目代码质量,支撑团队传承代码文化。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档