提交 f20e456d 编写于 作者: D DCloud_LXH

fix(nvue): support App onError #3851

上级 1f746bc4
import type { App } from 'vue'
import { isFunction } from '@vue/shared'
import { once } from './utils'
type CreateVueAppHook = (app: App) => void
let vueApp: App
......@@ -18,3 +20,14 @@ export function invokeCreateVueAppHook(app: App) {
vueApp = app
createVueAppHooks.forEach((hook) => hook(app))
}
export const invokeCreateErrorHandler = once(
(
app: App,
createErrorHandler: (app: App) => App['config']['errorHandler']
) => {
if (isFunction((app._component as any).onError)) {
return createErrorHandler(app)
}
}
)
import { App } from 'vue'
import { isFunction } from '@vue/shared'
import { invokeCreateVueAppHook } from '@dcloudio/uni-shared'
import {
invokeCreateVueAppHook,
invokeCreateErrorHandler,
} from '@dcloudio/uni-shared'
import { applyOptions } from './componentOptions'
import { set } from './componentInstance'
......@@ -10,10 +12,8 @@ import { uniIdMixin } from './uni-id-mixin'
export function initApp(app: App) {
const appConfig = app._context.config
if (isFunction((app._component as any).onError)) {
appConfig.errorHandler = createErrorHandler(app)
}
appConfig.errorHandler = invokeCreateErrorHandler(app, createErrorHandler)
initOptionMergeStrategies(appConfig.optionMergeStrategies)
const globalProperties = appConfig.globalProperties
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册