cube 发表于 2024-7-12 08:14

Vue3如何获取实例

本帖最后由 cube 于 2024-7-12 08:30 编辑

当基于Vue的程序发布上线后
通常Vue2可以通过__vue__属性获取实例
而Vue3有什么办法可以通过DOM获取实例么?
诸位大神有什么好的debug建议么?

舔指的小飞 发表于 2024-7-12 08:18

这个百度一下答案就出来了,,,

Smartiboy 发表于 2024-7-12 08:19

本帖最后由 Smartiboy 于 2024-7-12 08:24 编辑

vue3中可以通过getCurrentInstance函数来获取当前实例对象,也可以用 ref 获取 DOM 元素或组件实例。
讲一下getCurrentInstance大概的使用方法,如下代码演示:
import { getCurrentInstance } from 'vue';
const instance = getCurrentInstance();
// 当前实例
console.log(instance);

至于如何debug,讲道理我一般都是console调试,偶尔会用debugger关键字在想要debug的地方,一般我会在业务逻辑比较复杂的函数里用来查一下代码是否按照预期工作。

cube 发表于 2024-7-12 08:26

本帖最后由 cube 于 2024-7-12 08:28 编辑

Smartiboy 发表于 2024-7-12 08:19
vue3中可以通过getCurrentInstance函数来获取当前实例对象,也可以用 ref 获取 DOM 元素或组件实例。
讲一 ...
是我描述的有问题.
不是开发过程中获取实例的方法,是发布之后,有什么手段可以获取当前Element所绑定的实例。

cube 发表于 2024-7-12 08:27

舔指的小飞 发表于 2024-7-12 08:18
这个百度一下答案就出来了,,,

好的,方法很好,非常感谢。

Smartiboy 发表于 2024-7-12 08:37

cube 发表于 2024-7-12 08:26
是我描述的有问题.
不是开发过程中获取实例的方法,是发布之后,有什么手段可以获取当前Element所绑定的 ...

这个我就不知道了,等找到方法了也教我一下哈!~

sophieqd 发表于 2024-7-12 08:58

load
window.vue=this

console下,用vue.x

试试看

961705025 发表于 2024-7-12 09:26

好听吗 发表于 2024-7-12 10:55

能知道该项目所使用的组件库吗?

yushuai033X 发表于 2024-7-12 11:33

可以使用app.config.globalProperties全局属性来存储应用实例,并在需要获取实例的地方通过DOM元素来获取应用实例。具体步骤如下:
1、在应用初始化时,将应用实例存储在app.config.globalProperties中。
const app = createApp(App);
// 存储应用实例在全局属性中
app.config.globalProperties.appInstance = app;


2、在需要获取实例的地方,通过DOM操作来获取元素,然后通过appInstance属性来获取应用实例。
const rootElement = document.getElementById('app');
const appInstance = rootElement.appInstance;
console.log(appInstance); // 输出应用实例
页: [1] 2
查看完整版本: Vue3如何获取实例