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

2024-02-26

我有一个组件

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

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

但我有一个问题:

当我像这样使用 router-link 时:

<router-link to="/card/155"> card 155</router-link>

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

but the created()方法不会被解雇。 所以我不会向 api 发出新的 xhr 请求 并且数据没有改变 我该怎么办?


作为替代方案,您可以设置key https://v2.vuejs.org/v2/api/#key属性在你的<router-view>像这样:

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

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

See the fiddle https://jsfiddle.net/r_vamsi_krishna/Lop7caa1/3/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue js组件不会在同一页面上重新渲染 的相关文章

随机推荐