应用实例 API
全局 API
Vue 3 在创建和配置应用程序时常用的一些方法和属性,全局 API 是一些全局性的方法或属性,可以在 Vue 应用程序中直接使用,而不需要通过组件实例来访问。
包括应用实例 API 和 通用 API。
应用实例 API 简介
createApp()
: 创建应用实例的工厂函数,可以用来初始化一个新的应用程序实例。createSSRApp()
: 与createApp
类似,但用于创建服务器端渲染应用程序实例。app.mount()
: 用于手动挂载应用程序到指定的 DOM 元素上。app.unmount()
: 用于手动卸载应用程序,清除组件实例并解绑其数据。app.component()
: 用来注册全局组件或应用范围内组件。app.directive()
: 用来注册全局自定义指令。app.use()
:use
方法用来安装 Vue.js 插件。app.mixin()
: 用来混入全局 mixin 对象到所有组件中。app.provide()
: 用来向后代组件注入依赖项。app.runWithContext()
: 用来在指定上下文下运行指定操作。app.version
: 用来获取 Vue.js 的版本信息。app.config
: 存储应用程序的配置选项。app.config.errorHandler
: 用来全局处理应用程序的错误。app.config.warnHandler
: 用来全局处理应用程序发出的警告。app.config.performance
: 用来开启或关闭性能追踪工具。app.config.compilerOptions
: 用来配置模板编译选项。app.config.globalProperties
: 用来定义全局属性和方法。app.config.optionMergeStrategies
: 用来定义特定配置选项的合并策略。
应用实例 API 示例
下面为您逐个提供每个 API 的代码示例:
createApp()
: 创建应用程序实例。
import { createApp } from 'vue';
const app = createApp({...}); // 创建应用程序实例
createSSRApp()
: 创建服务器端渲染应用程序实例。
import { createSSRApp } from 'vue';
const app = createSSRApp({...}); // 创建服务器端渲染应用程序实例
app.mount()
: 将应用程序手动挂载到 DOM 元素上。
app.mount("#app"); // 挂载应用程序到具有 id "app" 的 DOM 元素上
app.unmount()
: 手动卸载应用程序。
app.unmount(); // 卸载应用程序
app.component()
: 注册全局组件或应用范围内组件。
app.component('my-component', {...}); // 注册名为 "my-component" 的全局组件
app.directive()
: 注册全局自定义指令。
app.directive('my-directive', {...}); // 注册名为 "my-directive" 的全局指令
app.use()
: 安装 Vue.js 插件。
import MyPlugin from "./MyPlugin";
app.use(MyPlugin); // 安装自定义插件
app.mixin()
: 混入全局 mixin 对象到所有组件中。
const myMixin = {...};
app.mixin(myMixin); // 将 myMixin 混入到所有组件中
app.provide()
: 向后代组件注入依赖项。
app.provide('myData', {...}); // 向后代组件注入名为 "myData" 的依赖项
app.runWithContext()
: 在指定上下文下运行指定操作。
app.runWithContext(context, () => {
// 在指定上下文 context 下运行操作
});
app.version
: 获取 Vue.js 的版本信息。
console.log(app.version); // 输出 Vue.js 的版本信息
app.config
: 应用程序的配置选项。
console.log(app.config); // 输出应用程序的配置选项
app.config.errorHandler
: 全局处理应用程序的错误。
app.config.errorHandler = (err, vm, info) => {
console.error("Error:", err);
console.error("Component:", vm);
console.error("Additional Info:", info);
};
app.config.warnHandler
: 全局处理应用程序发出的警告。
app.config.warnHandler = (msg, vm, trace) => {
console.warn("Warning:", msg);
console.warn("Component:", vm);
console.warn("Trace:", trace);
};
app.config.performance
: 开启或关闭性能追踪工具。
app.config.performance = process.env.NODE_ENV === "development";
app.config.compilerOptions
: 配置模板编译选项。
app.config.compilerOptions = {
// 配置模板编译选项
};
app.config.globalProperties
: 定义全局属性和方法。
app.config.globalProperties.$myGlobalProperty = 'Example'; // 定义全局属性
app.config.globalProperties.$myGlobalMethod = () => { ... }; // 定义全局方法
app.config.optionMergeStrategies
: 定义特定配置选项的合并策略。
app.config.optionMergeStrategies.customOption = (parentVal, childVal) => {
// 自定义合并策略
};
以上是每个 API 的简单代码示例。