vue路由切换后数据及滚动条保持不变
- 场景
- 思路
- keep-alive
props | desc |
include | String或Reg,名称匹配的组件会被缓存 |
exclude |
String或Reg,名称匹配的组件不会被缓存 |
max | Number,最大缓存的组件数 |
- beforeRouteLeave
beforeRouteLeave(to, from, next) {}
- demo
myList.vue
export default {
name: "myList",
activated() {
if (Number(localStorage.getItem('isRefresh')) === 1) {
this.initPage();
} else {
this.$refs.list.scrollTop = this.scrollTop;
}
},
beforeRouteLeave(to, from, next) {
if (to.path !== "/listDetail") {
localStorage.setItem('isRefresh', '1');
} else {
localStorage.setItem('isRefresh', '0');
this.scrollTop = this.$refs.list.scrollTop;
}
next();
},
}
推荐阅读
- vue-cli|vue-cli 3.x vue.config.js 配置
- 2020-04-07vue中Axios的封装和API接口的管理
- VueX--VUE核心插件
- vue组件中为何data必须是一个函数()
- 用npm发布一个包的教程并编写一个vue的插件发布
- vuex|vuex 基础结构
- Vue源码分析—响应式原理(二)
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
- vue中的条件判断详解v-if|vue中的条件判断详解v-if v-else v-else-if v-show
- 242为什么不断切换任务会更容易累()