在 vue 3 中获取 vue 实例的方法有:通过应用程序实例;通过 provide/inject;通过 $parent、$root 和 $refs;通过 vue devtools 扩展;通过应用程序容器。
如何在 Vue 3 中获取 Vue 实例
在 Vue 3 中,有以下几种方法可以获取 Vue 实例:
1. 通过应用程序实例
// 在 main.js 中
const app = createApp(App);
// 在任何组件中
const appInstance = app._instance;
2. 通过 provide/inject
立即学习“前端免费学习笔记(深入)”;
// 在需要获取 Vue 实例的组件中
const instance = inject('instance');
// 在提供 Vue 实例的组件中
provide('instance', this);
3. 通过 $parent、$root 和 $refs
// 通过 $parent 获取父级 Vue 实例
const parentInstance = this.$parent;
// 通过 $root 获取根 Vue 实例
const rootInstance = this.$root;
// 通过 $refs 获取子组件 Vue 实例
const childInstance = this.$refs.myChild;
4. 通过 Vue Devtools 扩展
打开 Vue Devtools 扩展,选择要检查的组件,然后在 "Components" 面板中右键单击组件并选择 "Inspect Vue Instance"。
5. 通过应用程序容器
// 在 vite 或 webpack 中设置应用程序容器
// 在 main.js 中
import { createApp } from 'vue';
const app = createApp(App);
app.provide('app', app);
// 在任何组件中
const appInstance = inject('app');