Vue路由监听实现同页面动态加载的示例

 更新时间:2021年05月21日 11:01:53   作者:java_web攻城狮  
本文主要介绍了Vue基于路由监听实现同页面动态加载的示例,重点在于切换路由的时候,重新拉取列表数据,接下来看看实现方法吧

场景分析

在系统中一个模块有三个子模块. 业务数据中可以直接根据类型去区分这个三个子模块的归属. 通常情况下.我们是写在同一个模块中然后去选择业务类型. 但是业主要求,将这个拆分成三个菜单.用户根据自己的需求去选择需要使用的模块.

这个三个菜单使用的是同一张数据表. 所以我们肯定只写一个 list,add,edit页面的. 然后根据进入页面的路由来判断属于哪一个分类.并跳转指定分类的 新增,编辑, 和调用对应的列表接口页面

开发

由于三个模块使用的相同的页面.所以需要配置三份路由.并且做出页面区分 .然后现在遇到的问题是. 由于三个菜单虽然路由不同但是页面是同一个页面 .切换菜单的时候并不会再出触发vue的钩子函数 .然后三个list页面查询的数据相同.也就是不会触发查询方法.导致不能切换条件.

然后网上搜了一下 watch监听时间. 发现可以通过监听实现路由变化的时候触发列表数据加载方法 . 具体代码如下

列表页面的路由分别在list后面添加了1,2,3 用于区分是哪个页面

watch: {
    '$route.path': function (newVal, oldVal) {
        // 参数 新旧路由path  type是全局定义的 三个类型菜单
        this.type = newVal.substr(newVal.lastIndexOf("/") + 1);
        this.search();
    }
},


然后这样可以切换路由的时候,重新拉取列表数据. 同时create方法里面也需要调用search.因为路由监听只作用于本页面.其它页面切换路由到这个菜单时不会触发.

created () {
    let path = this.$route.path;
    this.type = path.substr(path.lastIndexOf("/") + 1);
    this.search();
},

总结

在实际开发中,可以根据自己的需求选择监听属性

watch:{  
    //监听路由变化
    $route( to , from ){   
       console.log( to , from )
        // to , from 分别表示从哪跳转到哪,都是一个对象
        // to.path  ( 表示的是要跳转到的路由的地址  );
     }
}

以上就是Vue路由监听实现同页面动态加载的示例的详细内容,更多关于Vue路由监听实现同页面动态加载的资料请关注脚本之家其它相关文章!

相关文章

  • 手把手教你Vue3如何封装组件

    手把手教你Vue3如何封装组件

    vue2和vue3的组件封装还是有区别,下面这篇文章主要给大家介绍了关于Vue3如何封装组件的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue3具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • vue实现用户登录切换

    vue实现用户登录切换

    这篇文章主要为大家详细介绍了vue实现用户登录切换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 一篇文章看懂Vue组合式API

    一篇文章看懂Vue组合式API

    众所周知组合式API是一系列API的集合,使我们可以使用函数而不是声明选项的方式书写Vue组件,这篇文章主要给大家介绍了关于Vue组合式API的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Vue事件符.capture的含义及用法说明

    Vue事件符.capture的含义及用法说明

    这篇文章主要介绍了Vue事件符.capture的含义及用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • vue el-form-item如何添加icon和tooltip

    vue el-form-item如何添加icon和tooltip

    这篇文章主要介绍了vue el-form-item如何添加icon和tooltip问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • vue项目如何通过url链接引入其他系统页面

    vue项目如何通过url链接引入其他系统页面

    这篇文章主要介绍了vue项目如何通过url链接引入其他系统页面问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • VUE中鼠标滚轮使div左右滚动的方法详解

    VUE中鼠标滚轮使div左右滚动的方法详解

    这篇文章主要给大家介绍了关于VUE中鼠标滚轮使div左右滚动的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Vue3+Canvas实现简易的贪吃蛇游戏

    Vue3+Canvas实现简易的贪吃蛇游戏

    贪吃蛇作为一个经典的小游戏,是很多人儿时的记忆,当时的掌机、诺基亚手机里面都有它的身影。本文将用Vue3 Canvas来复刻一下这款游戏,感兴趣的可以了解一下
    2022-07-07
  • vue面包屑组件的封装方法

    vue面包屑组件的封装方法

    这篇文章主要为大家详细介绍了vue面包屑组件的封装方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue路由--网站导航功能详解

    vue路由--网站导航功能详解

    这篇文章主要介绍了vue路由--网站导航功能详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论