vue js 组件不会在同一页面上重新渲染

use*_*593 3 vue.js

我有一个组件

<template>somecode</template>
<script>
 export default {
        name: 'Card',
        created() {
                axios.get(apiObjUrl)
                      somecode
                })
     }
</script>
Run Code Online (Sandbox Code Playgroud)

这是我的网址:http : //127.0.0.1 : 8080/#/card/12

但我有一个问题:

当我像这样使用路由器链接时:

<router-link to="/card/155"> card 155</router-link>
Run Code Online (Sandbox Code Playgroud)

我的网址更改:http : //127.0.0.1 : 8080/#/card/155

但该created()方法不会被解雇。所以我不会向 api 发出新的 xhr 请求,数据也不会改变我该怎么办?

Vam*_*hna 7

作为替代方案,您可以像这样设置一个 关键属性<router-view>

    <router-view :key="$route.fullPath"></router-view>
Run Code Online (Sandbox Code Playgroud)

就像<router-view>组件本身一样,唯一键强制替换组件而不是重用它。所以你可以使用生命周期钩子。

小提琴