为什么我无法在 Vue 3 实例上访问 $data?

Luc*_*lin 4 javascript vue.js vuejs3

我遇到了一个奇怪的问题:我无法从 vue 实例访问 data() :

const vueapp = Vue.createApp({
  data(){
    return {
      form:{ .... }
[etc..]

// later:

console.log(vueapp.$data, vueapp.form) // both undefined
Run Code Online (Sandbox Code Playgroud)

为什么?

cee*_*yoz 7

https://v3.vuejs.org/guide/instance.html#creating-an-application-instance

该应用程序及其根组件有细微但重要的不同。您传递给的选项createApp不存在于应用程序上,而是存在于其根组件上。

传递给 createApp 的选项用于配置根组件。当我们安装应用程序时,该组件将用作渲染的起点。

const app = Vue.createApp(RootComponent)
const vm = app.mount('#app')
Run Code Online (Sandbox Code Playgroud)

您可以在上面的代码示例中执行vm.$dataand操作,但不能执行or 操作。vm.formapp.$dataapp.form