一. Vue页面跳转,第二次靳组件不刷新
1.背景:从采购合同界面进入新增采购合同界面,新增后返回采购合同界面,界面内容未出现新增的合同。
2.原因:vue组件和组件间使用router跳转的时候,除了首次实例化会加载数据,第二次进组件的时候,是不会再次实例化组件的,也就是调用的缓存,不能实时刷新组件
3.解决办法:增加 activated()方法,进行刷新
4.知识点:
created():在创建vue对象时,当html渲染之前就触发;但是注意,全局vue.js不强制刷新或者重启时只创建一次,也就是说,created()只会触发一次;
activated():在vue对象存活的情况下,进入当前存在activated()函数的页面时,一进入页面就触发;可用于初始化页面数据等
<template>
</template>
<script>
export default {
data() {
return {}
},
activated(){
if(this.$route.params.isFresh){
//注意路由跳转时$router.push()和$route.params的route,一个带r
this.init();
}else{}
},
methods:{
init(){},
}
}
</script>
<style>
</style>