1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { getCurrentPage } from '../common/utils';
- const onPageScroll = function (event) {
- const page = getCurrentPage();
- if (!page)
- return;
- const { pageScroller } = page;
- pageScroller === null || pageScroller === void 0 ? void 0 : pageScroller.forEach((scroller) => {
- if (typeof scroller === 'function') {
- scroller(event);
- }
- });
- };
- export default (funcName = 'onScroll') => {
- return Behavior({
- attached() {
- var _a;
- const page = getCurrentPage();
- if (!page)
- return;
- const bindScroller = (_a = this[funcName]) === null || _a === void 0 ? void 0 : _a.bind(this);
- if (bindScroller) {
- this._pageScroller = bindScroller;
- }
- if (Array.isArray(page.pageScroller)) {
- page.pageScroller.push(bindScroller);
- }
- else {
- page.pageScroller =
- typeof page.onPageScroll === 'function' ? [page.onPageScroll.bind(page), bindScroller] : [bindScroller];
- }
- page.onPageScroll = onPageScroll;
- },
- detached() {
- var _a;
- const page = getCurrentPage();
- if (!page)
- return;
- page.pageScroller = ((_a = page.pageScroller) === null || _a === void 0 ? void 0 : _a.filter((item) => item !== this._pageScroller)) || [];
- },
- });
- };
|