美文网首页
vue动态路由

vue动态路由

作者: 奈何明月照沟渠 | 来源:发表于2018-10-09 17:28 被阅读0次

应用场景

1.gif
动态路由即动态组件,路由和组件都是固定的变化的只是 路由的params
该应用场景下每当点击一个病人需要在头部导航中追加一个router-link 并将url切换到对应的path

router.js

首先在router.js中需要注册该动态路由和其参数

{
          path : '/workstation/patientDOC/:id',
          name : 'patientDOC',
          component : PatientDOC
}

component

做好上一步后,我们发现在切换组件的时候内部的数据并没有发生变化,因为 数据的请求是写在 mounted 钩子中的,所以只会在第一次加载组件的时候执行请求操作。
那么要怎样做呢,最直接的想法是 我在点击病人时去 调用 组件的axios请求来实现 组件更新,但是头部导航在切换的时候也需要更新数据这时候就需要watch这个API

 '$route.params.id' : function (to) {
            console.log(to)
            //axios请求
 }

注意监听要放在 病人详情的组件中,这样只有在/workstation/patientDOC这个路由上才会监听id的变化

优化

完成上述部分还有很多需要优化的部分

例如:每次切换病人都会 触发请求 造成了资源的浪费
例如:刷新页面的时候 因为路由都是点击病人动态创建的所以一刷新 头部导航就全部不见了,但是页面还是当前路由

这时候就需要vuex 和 sessionStronge配合来完成了
sessionStronge来保存router-link需要的数据即头部导航 然后在病人卡片页面 初次加载的生命周期里从sessionStronge中取值,在点击病人的时候需要给sessionstronge重新赋值

vuex存取页面数据的操作与sessionStronge相同,但在监听的写法上会有略微不同。因为监听到 parmes.id变化时需要判断vuex中是否有该组件需要的数据没有的话再去调用axios并更新vuex

相关文章

  • vue路由的介绍(二)--vue动态路由和get的传值

    vue动态路由和get的传值---->同属于路由的传参 1,vue动态路由: 动态路由的配置: ①,在配置路由时加...

  • Vue应用

    Vue项目 Vue结构 Vue项目打包与发布 Vue语法二 Vue网络请求 Vue路由 动态路由 编程式路由导航

  • 手写 Vue Router、手写响应式实现、虚拟 DOM 和 D

    Vue-Router 原理实现 一、Vue-Router 动态路由 二、Vue-Router 嵌套路由 三、Vue...

  • Vue路由

    一、Vue路由基础用法: 二、Vue路由配置的抽出 三、路由动态传值: 四、路由的跳转方式: 五、路由的hash模...

  • Vue常见面试题

    1.怎么定义vue-router的动态路由?怎么获取传递过来的动态参数? 何为动态路由?能够提供参数的路由即为动态...

  • vue中的路由

    vue中4中路由包含: 1、动态路由2、嵌套路由3、编程式路由4、命名式路由 1、动态路由 2、嵌套路由 3、编程...

  • Vue路由及默认路由的跳转

    https://router.vuejs.org/ 代码实现如下 Vue动态路由get传参 vue路由结合请求数据...

  • 【转载】vue动态路由的实现思路及踩坑

    原文:Vue Router 实现动态路由和常见问题及解决方法 Vue项目实现动态路由的方式大体可分为两种: 前端将...

  • vue路由-4-动态添加-addRoute-keepAlive

    1. 前言 很多场景都是动态路由,那今天来梳理下动态路由 2. 动态路由-场景-杂谈 应用场景 紧接上篇文章vue...

  • vue-addRoute-keepAlive

    1. 前言 很多场景都是动态路由,那今天来梳理下动态路由 2. 动态路由-场景-杂谈 应用场景 紧接上篇文章vue...

网友评论

      本文标题:vue动态路由

      本文链接:https://www.haomeiwen.com/subject/hgdyaftx.html