mirror of https://github.com/vuejs/core.git
types(runtime-core): added `ComponentCustomProperties` type to `globalProperties` (#5389)
This commit is contained in:
parent
83f7e6f8a6
commit
506a42a9a5
|
@ -11,7 +11,10 @@ import {
|
|||
MergedComponentOptions,
|
||||
RuntimeCompilerOptions
|
||||
} from './componentOptions'
|
||||
import { ComponentPublicInstance } from './componentPublicInstance'
|
||||
import {
|
||||
ComponentCustomProperties,
|
||||
ComponentPublicInstance
|
||||
} from './componentPublicInstance'
|
||||
import { Directive, validateDirectiveName } from './directives'
|
||||
import { RootRenderFunction } from './renderer'
|
||||
import { InjectionKey } from './apiInject'
|
||||
|
@ -70,7 +73,7 @@ export interface AppConfig {
|
|||
|
||||
performance: boolean
|
||||
optionMergeStrategies: Record<string, OptionMergeFunction>
|
||||
globalProperties: Record<string, any>
|
||||
globalProperties: ComponentCustomProperties & Record<string, any>
|
||||
errorHandler?: (
|
||||
err: unknown,
|
||||
instance: ComponentPublicInstance | null,
|
||||
|
|
|
@ -6,7 +6,7 @@ declare module '@vue/runtime-core' {
|
|||
}
|
||||
|
||||
interface ComponentCustomProperties {
|
||||
state: 'stopped' | 'running'
|
||||
state?: 'stopped' | 'running'
|
||||
}
|
||||
|
||||
interface ComponentCustomProps {
|
||||
|
@ -35,6 +35,14 @@ export const Custom = defineComponent({
|
|||
expectError(this.notExisting)
|
||||
this.counter++
|
||||
this.state = 'running'
|
||||
|
||||
this.$.appContext.config.globalProperties.state = 'running'
|
||||
|
||||
expectError(
|
||||
// @ts-expect-error
|
||||
(this.$.appContext.config.globalProperties.state = 'not valid')
|
||||
)
|
||||
|
||||
// @ts-expect-error
|
||||
expectError((this.state = 'not valid'))
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue