关于Vue createApp()函数的疑问:什么是Application instance?
Vue 中 Application Instance(应用实例)是什么?
当你执行const app = Vue.createApp()得到的app,就是Vue的应用实例——它是整个Vue应用的核心控制中枢,相当于一个全局"大管家",统筹着应用从配置到渲染、再到销毁的全流程。
它的核心作用包括:
- 全局配置的载体:所有需要全局生效的规则都通过它来设置,比如注册全局组件、全局指令、全局过滤器,或者配置应用级的错误处理、全局属性等:
// 注册全局可用的组件 app.component('GlobalHeader', { /* 组件选项 */ }) // 设置全局属性,所有组件都能访问 app.config.globalProperties.$http = axios - 组件树的根起点:通过
app.mount('#app')将应用挂载到DOM元素时,会从你传入的根组件(如果有的话)开始,构建起整个应用的组件树。比如带根组件的完整写法:const app = Vue.createApp({ template: '<h1>Hello Vue App!</h1>' }) // 挂载到页面上的#app元素中 app.mount('#app') - 整个应用的生命周期管理者:你可以通过它控制应用的启动与销毁,比如调用
app.unmount()就能销毁整个应用,释放所有相关资源——这是组件实例做不到的全局操作。
需要注意的是,应用实例和组件实例是不同的:组件实例是单个组件的运行实例,而应用实例是全局层面的,负责管控所有组件的共同规则和整体生命周期。通常一个页面里只会有一个根应用实例(除非你要在同一个页面创建多个完全独立的Vue应用)。
内容的提问来源于stack exchange,提问作者Ken Kaneki
相关产品推荐
相关产品推荐

