Vue3:全局API(应用实例)

createApp

创建一个应用实例

复制代码
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App);

app.mount()

将应用实例挂载在一个容器元素中。

复制代码
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App);
app.mount('#app')

app.unmount()​

卸载一个已挂载的应用实例

app.component()​

如果同时传递一个组件名字符串及其定义,则注册一个全局组件;如果只传递一个名字,则会返回用该名字注册的组件 (如果存在的话)。

复制代码
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App);
import { Button } from 'view-ui-plus';
app.component('Button', Button);

app.directive()​

如果同时传递一个名字和一个指令定义,则注册一个全局指令;如果只传递一个名字,则会返回用该名字注册的指令 (如果存在的话)。

复制代码
import { createApp } from 'vue'
const app = createApp({
  /* ... */
})
// 注册(对象形式的指令)
app.directive('my-directive', {
  /* 自定义指令钩子 */
})
// 注册(函数形式的指令)
app.directive('my-directive', () => {
  /* ... */
})
// 得到一个已注册的指令
const myDirective = app.directive('my-directive')

app.use()​

安装一个插件。

复制代码
import { createPinia } from 'pinia' 
import { createApp } from 'vue'
import App from './App.vue'
const pinia = createPinia();
const app = createApp(App);
app.use(pinia );

app.mixin()​

应用一个全局 mixin (适用于该应用的范围)。一个全局的 mixin 会作用于应用中的每个组件实例。(不推荐,用组合式函数代替)

app.provide()​

提供一个值,可以在应用中的所有后代组件中注入使用。

复制代码
import { createApp } from 'vue'
const app = createApp(/* ... */)
app.provide('message', 'How are you going?')

import { inject } from 'vue'
export default {
  setup() {
    console.log(inject('message')) // 'How are you going?'
  }
}

app.version​

提供当前应用所使用的 Vue 版本号。这在插件中很有用,因为可能需要根据不同的 Vue 版本执行不同的逻辑。

复制代码
import { createApp } from 'vue'
const app = createApp(/* ... */);
console.log(app.version); // 3.4.13
等同与以下:
import { version} from 'vue';
console.log(version); // 3.4.13

app.config​

每个应用实例都会暴露一个 config 对象,其中包含了对这个应用的配置设定。

复制代码
import { createApp } from 'vue'
const app = createApp(/* ... */);
console.log(app.config); 
// {errorHandler: #, warnHandler:#,performance:#,compilerOptions:#,globalProperties:#,optionMergeStrategies:#} 

app.config.errorHandler​

用于为应用内抛出的未捕获错误指定一个全局处理函数。

app.config.warnHandler​

用于为 Vue 的运行时警告指定一个自定义处理函数。

app.config.performance​

设置此项为 true 可以在浏览器开发工具的"性能/时间线"页中启用对组件初始化、编译、渲染和修补的性能表现追踪。仅在开发模式和支持 performance.mark API 的浏览器中工作。

app.config.compilerOptions​

配置运行时编译器的选项。

app.config.globalProperties​

一个用于注册能够被应用内所有组件实例访问到的全局属性的对象。

注意:像UI组件中的dialog,confirm,modal都可以在这里注册;

复制代码
import {Message} from 'view-ui-plus';
app.config.globalProperties.$message = Message;

在组件中使用时

复制代码
import { getCurrentInstance } from 'vue';
const { $message } = getCurrentInstance().appContext.config.globalProperties;

app.config.optionMergeStrategies​

一个用于定义自定义组件选项的合并策略的对象。

相关推荐
喵个咪10 分钟前
go-kratos-admin 快速上手指南:从环境搭建到启动服务(Windows/macOS/Linux 通用)
vue.js·go
用户8417948145617 分钟前
vxe-gantt table 甘特图如何设置任务视图每一行的背景色
vue.js
小章鱼学前端43 分钟前
2025 年最新 Fabric.js 实战:一个完整可上线的图片选区标注组件(含全部源码).
前端·vue.js
涔溪1 小时前
实现将 Vue3 项目作为子应用,通过无界(Wujie)微前端框架接入到 Vue2 主应用中(Vue2 为主应用,Vue3 为子应用)
vue.js·前端框架·wujie
源码技术栈3 小时前
什么是云门诊系统、云诊所系统?
java·vue.js·spring boot·源码·门诊·云门诊
lcc1874 小时前
Vue3 ref函数和reactive函数
前端·vue.js
艾小码4 小时前
还在为组件通信头疼?defineExpose让你彻底告别传值烦恼
前端·javascript·vue.js
带只拖鞋去流浪4 小时前
迎接2026,重新认识Vue CLI (v5.x)
前端·vue.js·webpack
Coder-coco4 小时前
游戏助手|游戏攻略|基于SprinBoot+vue的游戏攻略系统小程序(源码+数据库+文档)
java·vue.js·spring boot·游戏·小程序·论文·游戏助手
c***V3237 小时前
Vue优化
前端·javascript·vue.js