| 123456789101112131415161718192021222324252627282930313233343536373839404142 | 
							- import { isFunction } from '../common/validator';
 
- import { getCurrentPage, isDef } from '../common/utils';
 
- function onPageScroll(event) {
 
-     const { vanPageScroller = [] } = getCurrentPage();
 
-     vanPageScroller.forEach((scroller) => {
 
-         if (typeof scroller === 'function') {
 
-             // @ts-ignore
 
-             scroller(event);
 
-         }
 
-     });
 
- }
 
- export function pageScrollMixin(scroller) {
 
-     return Behavior({
 
-         attached() {
 
-             const page = getCurrentPage();
 
-             if (!isDef(page)) {
 
-                 return;
 
-             }
 
-             const _scroller = scroller.bind(this);
 
-             const { vanPageScroller = [] } = page;
 
-             if (isFunction(page.onPageScroll) && page.onPageScroll !== onPageScroll) {
 
-                 vanPageScroller.push(page.onPageScroll.bind(page));
 
-             }
 
-             vanPageScroller.push(_scroller);
 
-             page.vanPageScroller = vanPageScroller;
 
-             page.onPageScroll = onPageScroll;
 
-             this._scroller = _scroller;
 
-         },
 
-         detached() {
 
-             const page = getCurrentPage();
 
-             if (!isDef(page) || !isDef(page.vanPageScroller)) {
 
-                 return;
 
-             }
 
-             const { vanPageScroller } = page;
 
-             const index = vanPageScroller.findIndex((v) => v === this._scroller);
 
-             if (index > -1) {
 
-                 page.vanPageScroller.splice(index, 1);
 
-             }
 
-             this._scroller = undefined;
 
-         },
 
-     });
 
- }
 
 
  |