开发过程中遇到一个Bug,在列表选择一条数据,跳转到详情页,然后通过浏览器回退到列表,再选择另一条数据,进入详情页,发现数据显示的是上一次的数据。在详情页vue created函数中,输出列表页传来的值,发现第二次详情页跳转,created函数并没有执行。

列表页跳转的代码

<el-table-column label="类型" align="center" :show-overflow-tooltip="true">
    <template slot-scope="scope">
        <router-link :to="{ path: '/detail/' + scope.row.id}" class="link-type">
            <span>{{ scope.row.dictType }}</span>
        </router-link>
    </template>
</el-table-column>

解决方法:

router-view加入 :key="$route.fullPath"  此代码就好了。

(非专业前端开发,暂不清楚原理)

<router-view :key="$route.fullPath"/>

参考链接:

Vue 中使用 router-link 后,URL 变化但是页面不刷新,Vue获取java后台传过来的值_Super周博客的博客-CSDN博客

Logo

前往低代码交流专区

更多推荐