Vue.useVueKeepScrollPosition Usage Just addv-keep-scroll-positionto your components within<keep-alive>. Forrouter-view: <keep-alive> <router-viewv-keep-scroll-position></router-view> </keep-alive> For simple dynamic components: <keep-alive> ...
store.commit('setScrollTop',window.pageYOffset);//可以使用 document.documentElement.scrollTopt 对页面进行相同的操作(Safari 除外,而应该使用 document.body.scrollTop 代替)}next() })// 页面滚动到指定位置router.afterEach((to,from) =>{if(to.meta.keepAlive) {setTimeout(() =>{window.scrollTo(0...
$route.meta.keepAlive"></router-view> </template> export default { activated() { // 在组件被激活时,设置滚动位置为之前保存的位置 window.scrollTo(0, this.$store.state.scrollPosition) }, deactivated() { // 在组件失活时,保存滚动位置 this.$store.commit('saveScrollPosition', window.pageY...
tableData: [], // 表格数据 scrollPosition: 0 // 保存滚动位置的变量 }; }, methods: { goToDetail() { // 保存当前滚动位置 this.scrollPosition = this.$refs.table.bodyWrapper.scrollTop; // 导航到详情页 // ... }, restoreScrollPosition() { // 恢复滚动位置 this.$refs.table.bodyWrapper...
if (from.meta.saveSrollTop) { from.meta.savedPosition = document.documentElement.scrollTop || document.body.scrollTop; } return { x: 0, y: to.meta.savedPosition || 0 }; } } 在自己router配置文件里面添加指定 的缓存属性就可以了
rtb.CaretPosition : rtb.Selection.Start; 在文档中执行更改后,使用以下代码将插入符号保持在RichTextBox的中心位置: var rect = ChangesStartPosition.GetCharacterRect(LogicalDirection.Forward);rtb.ScrollToVerticalOffset(rtb.VerticalOffset + rect.Top - rtb.ActualHeight / 2d);rtb.CaretPosition = Changes...
A Vue.JS plugin directive to remember element scroll-position when detached - mark-hahn/vue-keep-scroll
问题:savedPosition打印出来的x,y坐标,不是想要的,不准确。 分析:因为scrollBehavior是挂载在路由身上,它对应的应该是一个整个路由组件,而我的滑动区域是组件里面的一个固定区域,也就是说,我应该把scrollTop挂在滑动区域,但是整个页面结构不允许我这样做。所以尝试第二种方法,keep-alive ...
} from '../util/scroll-position' // 生成唯一 key 作为位置相关缓存 key const genKey = () => String(Date.now()) let _key: string = genKey() export class HTML5History extends History { constructor (router: VueRouter, base: ?string) { ...
routes: [ { path: '/detail', name: 'Detail', component: resolve => require(['@/pages/detail'], resolve) } ], scrollBehavior (to, from, savedPosition) { if (savedPosition) { return savedPosition } else { if (from.meta.keepAlive) { from.meta.savedPosition = document.body.scrollTop...