我有一个组件
<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(使用前将#替换为@)