vuejs学习与总结——vue-router深入学习

路由代码跳转

我们知道,路由的跳转可以通过路由跳转方式一
有时候,页面的跳转可能需要执行对应的JavaScript代码,这个时候就需要我们使用第二种跳转方式了
在这里插入图片描述

动态路由

在某些情况下,一个页面的path路径可能是不确定的,比如我们进入用户界面时,我们希望是以下的路径:

  • /user/aaaa或者/user/bbbbbb

  • 除了前面的/user之外。后面还跟上了用户的ID

  • 这个path和component的匹配关系,我们称之为动态路由(也就是路由传递数据的一种方式)

  • 具体实现如下:

  • 我们得先创建一个对应的组件:
    在这里插入图片描述

  • 导入组件,将导入的组件配置成一一的映射关系
    在这里插入图片描述

  • App.vue中进行配置
    List item

  • 如下:
    在这里插入图片描述

  • 显示效果为:

在这里插入图片描述

路由的懒加载

  • 官方解释为:包构建应用时,JavaScript包会变得非常大,影响页面的加载
  • 当然,如果我们能够把不同的对应的组件分割为不同的板块,然后当路径访问的时候才加载对应组件,主要就会比较高效
  • 首先,我们知道路由中通常会定义很多的页面,H这些页面,一般情况下,是放在一个js文件中,但是,如果很多页面同时放到js文件中,必然会造成这个页面非常的大,如果我们一次性从服务器请求下来这个页面,可能需要花费一些是啊金,设置用户的电脑会出现空白的现象。如果想避免这种情况,使用懒加载就可以了。

懒加载的作用

是将路由对应的组件打包为一个个Js代码,只有在这个路由被访问的时候,才加载对应的处组件

懒加载的方式

  • 1.结合Vue的异步组件和webpack的代码分析
const Home = resolve =>{ require.ensure(['../components/Hpome.vue'], () => 
    { resolve(require('../components/Home.vue'))}
)};
  • 2.AMD写法
constAbout= resolve=> required(['../components/About.vue'],resolve);
  • 3.在ES6中,我们可以有更加简单的方式来组织Vue的异步组件和Webpack的代码分割
    const Home = () => import('../components/Home.vue')

路由嵌套

实现步骤

  • 创建对应的子组件,并且在路由映射中配置对应的子路由
  • 在组件内部使用< router-view >标签
  • 具体实现为:
    在这里插入图片描述
    在我们所创建的子组件中协商相应的内容:
    在这里插入图片描述
    接下来,进行路由和组件之间的映射关系:
    在这里插入图片描述
    经过了如上步骤,我们所想要的效果并没有显示出来。
    必须经过下面的这个步骤:我们希望在主页面也就是我们的Home页面,那我们就需要在Home.vue中添加上< router - view>标签
<template>
  <div class="home">
<!--    <img alt="Vue logo" src="../assets/logo.png">-->
<!--    <HelloWorld msg="Welcome to Your Vue.js App"/>-->
    <h2>我是首页</h2>
    <p>我是首页内容,,,,,</p>
    <router-link to="/home/news">新闻 </router-link>
    <router-link to="/home/message">消息</router-link>
    <router-view/>
  </div>

vue-router参数传递

传递参数主要有以下两种方式:

params的类型

  • 配置路由格式:/router/:id
  • 传递的方式在path后面跟上对应的值
  • 传递后形成的路径:/router/aaa,/router/abc

query的类型

  • 配置路由格式:/router,也就是普通配置
  • 传递的方式:对象中使用query的key作为传递方式
  • 传递后形成的路径:/router?id=aaa./router?id=abc
    具体实现为:
    <router-link :to="{path:'/profile',query:{name:'yiya',height:'189',age:'19'}}">档案</router-link>

实现效果:
在这里插入图片描述

总结

vue-router的知识比较多,也比较复杂,但是只要多点耐心,反复练习,掌握了原理和步骤,其实也就不复杂了。路漫漫,希望每一个不曾起舞的日子都不被辜负,慢慢沉淀1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值