Vue keep-alive 实现后退缓存,前进刷新
为了实现前进页面展示初始状态,后退保留上次的数据。不过以下实现方式,一个页面只保留一次缓存。这个功能搞了一天,做个记录。 先把router-view 放入keep-alive里 <keep-alive> <router-view ></router-view> </keep-alive> 在router.js里添加一个标识用于判断页面是否需要缓存 { path : '/home/vikeSearch' , component : resolve => require ( [ '../../search.vue' ] , resolve ) , meta : { keepAlive : true , // 此组件需要被缓存 } } 添加后退监听。 //判断是否是ie9,9以下无法没找到方法实现 if ( IEVersion ( ) == 9 ) { window . onhashchange = function ( ) { if ( ieBackFlag ) { Vue . isBack = true ; } else { Vue . ieBackFlag = true ; } } } else { window . onpopstate = function ( ) { Vue . isBack = true ; } } ie9 只能用onhashchange