Vue3 全局 API
Vue3 全局 API 如下:
序号 | API & 描述 | 实例 |
---|---|---|
1 | createApp() 创建 Vue 应用实例,通常用于客户端渲染。 | const app = createApp(App) |
2 | createSSRApp() 创建用于服务端渲染(SSR)的 Vue 应用实例。 | const app = createSSRApp(App) |
3 | app.mount() 将 Vue 应用实例挂载到指定的 DOM 元素上。 | app.mount('#app') |
4 | app.unmount() 卸载 Vue 应用实例。 | app.unmount() |
5 | app.onUnmount() 注册卸载时的回调函数。 | app.onUnmount(() => { console.log('App is being unmounted') }) |
6 | app.component() 注册全局组件,使组件在任何地方都可以使用。 | app.component('MyComponent', MyComponent) |
7 | app.directive() 注册全局指令,允许创建自定义指令。 | app.directive('focus', { mounted(el) { el.focus() } }) |
8 | app.use() 安装插件,插件可以为应用提供额外功能。 | app.use(SomePlugin) |
9 | app.mixin() 注册全局混入,向所有组件提供共享数据或方法。 | app.mixin({ methods: { globalMethod() { ... } } }) |
10 | app.provide() 向整个应用提供依赖,跨组件共享数据。 | app.provide('key', 'some value') |
11 | app.runWithContext() 在 Vue 应用上下文中运行一个函数,允许访问上下文数据。 | app.runWithContext(() => { console.log('Running inside app context') }) |
12 | app.version 获取 Vue 当前的版本号。 | console.log(app.version) |
13 | app.config 获取和设置应用实例的全局配置。 | app.config.globalProperties.$myProperty = 'value' |
14 | app.config.errorHandler 设置全局错误处理函数,在应用中出现未捕获的错误时触发。 | app.config.errorHandler = (err, vm, info) => { console.error(err) } |
15 | app.config.warnHandler 设置全局警告处理函数,处理应用中的警告信息。 | app.config.warnHandler = (msg, vm, trace) => { console.warn(msg) } |
16 | app.config.performance 启用性能监控,提供渲染性能数据。 | app.config.performance = true |
17 | app.config.compilerOptions 配置模板编译器的选项,控制模板的编译行为。 | app.config.compilerOptions.delimiters = ['[[', ']]'] |
18 | app.config.globalProperties 设置全局属性,应用中所有组件都可以访问。 | app.config.globalProperties.$myGlobalProperty = 'value' |
19 | app.config.optionMergeStrategies 定义组件选项合并策略,控制如何合并组件的选项。 | app.config.optionMergeStrategies.methods = (parent, child) => { return { ...parent, ...child } } |
20 | app.config.idPrefix 设置 Vue 实例 ID 的前缀,默认为 "vue-"。 | `app.config.idPrefix = 'myApp-' |
21 | app.config.throwUnhandledErrorInProduction 控制生产环境下是否抛出未处理的错误。 | app.config.throwUnhandledErrorInProduction = false |
22 | version 获取 Vue 当前的版本号。 | console.log(Vue.version) |
23 | nextTick() 在 DOM 更新完成后执行延迟回调,用于处理异步 DOM 更新。 | nextTick(() => { console.log('DOM updated') }) |
24 | defineComponent() 用于定义组件,提供类型推导和更简洁的语法。 | export default defineComponent({ name: 'MyComponent' }) |
25 | defineAsyncComponent() 定义异步组件,组件会在需要时进行懒加载。 | const AsyncComponent = defineAsyncComponent(() => import('./AsyncComponent.vue')) |
应用实例 API
1. createApp()
-
功能: 创建一个 Vue 应用实例。
-
用法:
createApp(rootComponent, rootProps)
-
参数:
-
rootComponent
: 根组件。 -
rootProps
(可选): 传递给根组件的 props。
-
实例
import App from './App.vue';
const app = createApp(App);
2. createSSRApp()
-
功能: 创建一个支持服务器端渲染 (SSR) 的 Vue 应用实例。
-
用法:
createSSRApp(rootComponent, rootProps)
-
参数:
-
rootComponent
: 根组件。 -
rootProps
(可选): 传递给根组件的 props。
-
实例
import App from './App.vue';
const app = createSSRApp(App);
3. app.mount()
-
功能: 将应用挂载到 DOM 元素上。
-
用法:
app.mount(container)
-
参数:
-
container
: DOM 元素或选择器字符串。
-
实例
4. app.unmount()
-
功能: 卸载应用实例。
-
用法:
app.unmount()
实例
5. app.onUnmount()
-
功能: 注册一个回调函数,在应用卸载时调用。
-
用法:
app.onUnmount(callback)
-
参数:
-
callback
: 卸载时调用的函数。
-
实例
console.log('App unmounted');
});
6. app.component()
-
功能: 注册或获取全局组件。
-
用法:
-
注册:
app.component(name, component)
-
获取:
app.component(name)
-
-
参数:
-
name
: 组件名称。 -
component
: 组件定义。
-
实例
template: '<div>My Component</div>'
});
7. app.directive()
-
功能: 注册或获取全局指令。
-
用法:
-
注册:
app.directive(name, directive)
-
获取:
app.directive(name)
-
-
参数:
-
name
: 指令名称。 -
directive
: 指令定义。
-
实例
mounted(el) {
el.focus();
}
});
8. app.use()
-
功能: 安装插件。
-
用法:
app.use(plugin, options)
-
参数:
-
plugin
: 插件。 -
options
(可选): 插件选项。
-
实例
app.use(MyPlugin);
9. app.mixin()
-
功能: 全局混入选项。
-
用法:
app.mixin(mixin)
-
参数:
-
mixin
: 混入对象。
-
实例
created() {
console.log('Global mixin created');
}
});
10. app.provide()
-
功能: 提供全局依赖。
-
用法:
app.provide(key, value)
-
参数:
-
key
: 依赖名称。 -
value
: 依赖值。
-
实例
11. app.runWithContext()
-
功能: 在当前应用上下文中运行函数。
-
用法:
app.runWithContext(fn)
-
参数:
-
fn
: 要运行的函数。
-
实例
console.log('Running with app context');
});
12. app.version
-
功能: 获取 Vue 版本。
-
用法:
app.version
实例
13. app.config
-
功能: 应用配置对象。
-
用法:
app.config
实例
console.error(err);
};
14. app.config.errorHandler
-
功能: 全局错误处理函数。
-
用法:
app.config.errorHandler = (err, vm, info) => {}
-
参数:
-
err
: 错误对象。 -
vm
: 发生错误的组件实例。 -
info
: 错误信息。
-
实例
console.error('Global error:', err);
};
15. app.config.warnHandler
-
功能: 全局警告处理函数。
-
用法:
app.config.warnHandler = (msg, vm, trace) => {}
-
参数:
-
msg
: 警告信息。 -
vm
: 发生警告的组件实例。 -
trace
: 警告堆栈。
-
实例
console.warn('Global warning:', msg);
};
16. app.config.performance
-
功能: 启用性能追踪。
-
用法:
app.config.performance = true
实例
17. app.config.compilerOptions
-
功能: 配置模板编译器的选项。
-
用法:
app.config.compilerOptions = { /* options */ }
实例
18. app.config.globalProperties
-
功能: 添加全局属性。
-
用法:
app.config.globalProperties[key] = value
实例
19. app.config.optionMergeStrategies
-
功能: 自定义选项合并策略。
-
用法:
app.config.optionMergeStrategies[key] = strategy
实例
return child || parent;
};
20. app.config.idPrefix
-
功能: 设置组件 ID 前缀。
-
用法:
app.config.idPrefix = 'my-app-'
实例
21. app.config.throwUnhandledErrorInProduction
-
功能: 在生产环境中抛出未处理的错误。
-
用法:
app.config.throwUnhandledErrorInProduction = true
实例
通用 API
1. version
-
功能: 获取 Vue 版本。
-
用法:
Vue.version
实例
2. nextTick()
-
功能: 在下次 DOM 更新循环结束之后执行回调。
-
用法:
nextTick(callback)
-
参数:
-
callback
: 回调函数。
-
实例
nextTick(() => {
console.log('DOM updated');
});
3. defineComponent()
-
功能: 定义一个组件。
-
用法:
defineComponent(options)
-
参数:
-
options
: 组件选项。
-
实例
const MyComponent = defineComponent({
template: '<div>My Component</div>'
});
4. defineAsyncComponent()
-
功能: 定义一个异步组件。
-
用法:
defineAsyncComponent(loader)
-
参数:
-
loader
: 异步加载函数。
-
实例
const AsyncComponent = defineAsyncComponent(() =>
import('./MyComponent.vue')
);
点我分享笔记