You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么无法访问Vue3实例上的$data与data()定义的响应式数据?

问题原因分析
  • 混淆了Vue 3的应用实例和根组件实例:Vue.createApp()返回的是应用实例,仅用于全局配置、注册插件/全局组件,本身不承载组件的data、methods等属性。你需要调用mount()方法将应用挂载到DOM节点,返回的对象才是根组件实例,此时才能正常访问$data和自定义的data字段。
    正确使用示例:
const vueapp = Vue.createApp({
  data(){
    return {
      form:{ 
        // 表单相关字段
      }
    }
  }
})
// 挂载到对应DOM节点,获取根组件实例
const rootInstance = vueapp.mount('#app')
// 此时打印可正常获取数据
console.log(rootInstance.$data, rootInstance.form)
  • 打印操作执行在挂载完成前:如果在调用mount()方法之前就执行打印代码,此时组件实例还未完成初始化流程,返回值自然为undefined。

内容的提问来源于stack exchange,提问作者Luca Reghellin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 03:24:02