解决vue 在APP使用中路由跳转页面不刷新
问题:页面跳转页面不刷新,数据不渲染
问题原因:
在组件mounted钩子中调用的刷新页面内容,但测试发现这个钩子没有被调用。后来发现App.vue中使用了:
<template>
<div id="app">
<keep-alive>
<router-view></router-view>
</keep-alive>
</div>
</template>
问题解决:
方法一:
使用Vue组件切换过程钩子activated(keep-alive组件激活时调用),而不是挂载钩子mounted:
方法二:
watch 来检测路由变化。
watch: {
'$route' (to, from) {
this.httpGetUserInfo(); // 这是我ajax获取用户信息的方法
}
}
// 这样每次路由执行就会运行这个方法,第一次打开不会运行,你需要用created()方法来执行下ajax方法。
方法三:
当然也可以去除(暴力解决方法)