提交 7147c358 编写于 作者: fxy060608's avatar fxy060608

fix(app): subscribeViewMethod support wrapper

上级 af605c93
......@@ -16,32 +16,22 @@ import { onPageReady, pageScrollTo } from './dom/page'
const pageVm = { $el: document.body } as ComponentPublicInstance
function wrapperViewMethod(fn: (...args: any[]) => void) {
return (...args: any[]) => {
onPageReady(() => {
fn.apply(null, args)
})
}
}
export function initViewMethods() {
const pageId = getCurrentPageId()
subscribeViewMethod(pageId)
subscribeViewMethod(pageId, (fn: Function) => {
return (...args: any[]) => {
onPageReady(() => {
fn.apply(null, args)
})
}
})
registerViewMethod<{ reqs: Array<SelectorQueryRequest> }>(
pageId,
'requestComponentInfo',
wrapperViewMethod((args, publish) => {
(args, publish) => {
requestComponentInfo(pageVm, args.reqs, publish)
})
)
registerViewMethod(
pageId,
API_PAGE_SCROLL_TO,
wrapperViewMethod(pageScrollTo)
)
registerViewMethod(
pageId,
API_LOAD_FONT_FACE,
wrapperViewMethod(loadFontFace)
}
)
registerViewMethod(pageId, API_PAGE_SCROLL_TO, pageScrollTo)
registerViewMethod(pageId, API_LOAD_FONT_FACE, loadFontFace)
}
......@@ -10,10 +10,10 @@ function normalizeViewMethodName(pageId: number, name: string) {
return pageId + '.' + name
}
export function subscribeViewMethod(pageId: number) {
export function subscribeViewMethod(pageId: number, wrapper?: Function) {
UniViewJSBridge.subscribe(
normalizeViewMethodName(pageId, INVOKE_VIEW_API),
onInvokeViewMethod
wrapper ? wrapper(onInvokeViewMethod) : onInvokeViewMethod
)
}
/**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册