美文网首页
vue监听动态路由

vue监听动态路由

作者: 洛桃桃 | 来源:发表于2018-10-02 18:00 被阅读0次

解决路由参数变化而组件数据不更新的问题。

描述

使用动态路由时,通过链接跳转,而非刷新时,会出现url改变,而组件不更新的情况,如下:


image

关键

使用watch监听$route变化。

效果

效果图

方法

  1. 在router中配置动态路由
{
    path: '/test/:testId',
    name: 'Test',
    component: Test
}
  1. 组件挂载时获取数据
<template>
    <div class="wrap">
        此时的testId是:{{testId}}
        <br/>
        <router-link to="/test/bb">跳转到bb</router-link>
    </div>
</template>

<script>
    export default {
        name: 'Test',
        data() {
            return {
                testId: '',
            };
        },
        // 首次加载获取数据
        mounted() {
            this.testId = this.$route.params.testId;
        },
    };
</script>
  1. 使用watch监听路由变化
//监听路由变化,操作数据更新
watch: {
    $route(to, from) {
        this.testId = this.$route.params.testId;
    },
}

相关文章

  • vue监听动态路由

    解决路由参数变化而组件数据不更新的问题。 描述 使用动态路由时,通过链接跳转,而非刷新时,会出现url改变,而组件...

  • vue router

    简单的路由原理,基于组件 vue-router学习 1.使用 2.入口 3.JavaScript 动态路由监听$r...

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

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

  • Vue 记事

    嵌套路由简易写法 Vue setInterval 使用 Vue 组件中添加监听 添加监听: handleGloba...

  • Vue应用

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

  • Vue-router路由

    vue 监听路由变化 vue-router 由hash向history模式变迁 什么是路由 后端路由:对于普通的网...

  • Vue-- 监听路由变化,数据无法更新?

    Vue-- 监听路由变化,数据无法更新?

  • 【源码】vue-rotuer1 原理

    大纲hash路由history路由vue-router简单实现vue中的数组,对象添加属性的监听 (1)Hash ...

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

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

  • Vue路由

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

网友评论

      本文标题:vue监听动态路由

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