提交 1ae71bea 编写于 作者: Q qiang

fix: 解决监听页面滚动(onPageScroll)后切换页面报错的问题

上级 ef75c1ec
...@@ -39,7 +39,7 @@ function updateCssVar (vm) { ...@@ -39,7 +39,7 @@ function updateCssVar (vm) {
} }
} }
export default function initSubscribe (subscribe) { export default function initSubscribe (subscribe) {
Object.keys(subscribeApis).forEach(name => { Object.keys(subscribeApis).forEach(name => {
subscribe(name, subscribeApis[name]) subscribe(name, subscribeApis[name])
}) })
...@@ -88,10 +88,10 @@ export default function initSubscribe (subscribe) { ...@@ -88,10 +88,10 @@ export default function initSubscribe (subscribe) {
onReachBottomDistance, onReachBottomDistance,
enableTransparentTitleNView enableTransparentTitleNView
}) })
setTimeout(function () { // 避免监听太早,直接触发了 scroll requestAnimationFrame(function () { // 避免监听太早,直接触发了 scroll
document.addEventListener('scroll', scrollListener) document.addEventListener('scroll', scrollListener)
}, 10) })
} }
}) })
} }
} }
...@@ -91,6 +91,10 @@ export function createScrollListener (pageId, { ...@@ -91,6 +91,10 @@ export function createScrollListener (pageId, {
} }
function trigger () { function trigger () {
const pages = getCurrentPages()
if (!pages.length || pages[pages.length - 1].$page.id !== pageId) {
return
}
// publish // publish
const scrollTop = window.pageYOffset const scrollTop = window.pageYOffset
if (enablePageScroll) { // 向 Service 发送 onPageScroll 事件 if (enablePageScroll) { // 向 Service 发送 onPageScroll 事件
...@@ -121,4 +125,4 @@ export function createScrollListener (pageId, { ...@@ -121,4 +125,4 @@ export function createScrollListener (pageId, {
} }
ticking = true ticking = true
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册