• Vue.js入门教程(六)


    目录

    Vue中的路由

    1:安装

    2:配置

    路由嵌套

    路由传参

    query

    params 

    router 的 replace

    编程式路由导航

    push / replace

    路由的前进后退函数

    路由缓存

    全局前置路由


    Vue中的路由

    1:安装

    npm install vue-router

    // npm i vue-router@3.5.1 -S  // 安装旧版本

    2:配置

    新建 src/router/index.js 路由器文件

    配置路由器文件

    • vue2的方式

    •  vue3的方式

    配置main.js

    • vue2的方式

    • vue3的方式

    配置App.vue 页面

    查看页面效果


    路由嵌套

    配置路由器文件

     跳转

    <router-link to="/home/order">我的订单        // to 的时候要带上全路径


    路由传参

    query

    1:代码写死的方式  传字符串        --参数显示在URL上

    // html 代码

    我的订单

    // js 代码

    console.log(this.$route.query);

    2:动态的方式        传字符串        --参数显示在URL上

    // html 代码

    我的订单    

    // js 代码

    console.log(this.$route.query);

    3:传对象        --参数显示在URL上

    // html 代码

    我的订单

    // js 代码

    console.log(this.$route.query);

    params 

    方式一:传字符串        --参数显示在URL上

            (1):配置路由器文件

             (2):html 文件       

                    * 写死的方式

                     * 动态的方式

              (3):js 文件

            console.log(this.$route.params);

     方式二:传对象         --参数在URL上不显示

            (1):配置路由器文件

            (2):html 文件

            (3):js 文件

            console.log(this.$route.params);

    router 的 replace

    网页后退时删除之前的历史页面


    编程式路由导航

    路由跳转通过js事件函数的跳转方式,而不是通过router-link 就是编程式路由。

    push / replace

            (1):配置路由器文件

            (2):html 文件

            (3):js 文件

    vue2 的方式

    vue3的方式

            (4):接收参数的 js 

            console.log(this.$route.params);        // vue2 的方式

            console.log(router.currentRoute);       // vue3 的方式

    路由的前进后退函数

    this.$router.forward()         //前进
    this.$router.back()             //后退
    this.$router.go(-1)              //前进:正数1、2 或者后退:负数-1、-2


    路由缓存

            介绍:

    路由被切换后的页面被销毁了,路由缓存是让不展示的路由组件保持挂载在页面,不被销毁

            语法:



       


    全局前置路由

            介绍

    对路由组件进行权限控制

            配置路由器文件

    1. const router = new VueRouter({
    2. routes: [
    3. {
    4. path: '/home',
    5. component: Home,
    6. children: [
    7. {
    8. name: "myName",
    9. path: "order",
    10. component: Order,
    11. meta: {isAuth: true} // 使用 meta 属性,定义一个变量,true表示需要鉴权
    12. }
    13. ]
    14. }
    15. ]
    16. });
    17. /**
    18. * to: 表示要去的组件
    19. * next: 表示放行
    20. */
    21. router.beforeEach((to, from, next) => {
    22. if (to.meta.isAuth) { // 需要鉴权组件
    23. if (localStorage.getItem("token") === '1') { // 获取 localStorage 中的 token,如果登录了,就放行
    24. next();
    25. } else {
    26. alert("请登录") // 没有登陆就给个提示
    27. }
    28. } else { // 不需要鉴权的组件,直接放行
    29. next();
    30. }
    31. });
    32. export default router;

  • 相关阅读:
    Gitlab的安装与配置
    leetcode74 搜索二维矩阵
    python实战故障诊断之CWRU数据集(五):线性判别模型及二次判别模型的应用
    rpm2rpm 打包步骤
    【Android笔记31】Android中数据存储之SQLite数据库(Cursor、execSQL、rawQuery)
    用python画折线图
    关于指针的一些练习(1)
    2022.09.22学习笔记
    基于Java的个性化旅游攻略系统设计与实现(源码+lw+ppt+部署文档+视频讲解等)
    Metabase学习教程:仪表盘-7
  • 原文地址:https://blog.csdn.net/a1053765496/article/details/126808721