我从零开始学习VueJS.我遵循他们的官方指南.但我被困在这里:https://vuejs.org/v2/guide/#Handling-User-Input

在这个例子中...

var app5 = new Vue({
  el: '#app-5',
  data: {
    message: 'Hello Vue.js!'
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split('').reverse().join('')
    }
  }
})

..如何在不引用data对象的情况下直接访问message属性?如果this关键字指的是当前的Vue实例,那么message属性不应该这样访问吗:this.data.message

考虑下面的例子:

({
  name: "John Doe",
  data: {
    message: "Hello World"
  },
  greet: function(){
    console.log("I am " + this.name);
    console.log("I have a message for you: " + this.data.message); //see here
  }
}).greet();

这就是我在vanilla javascript中访问属性的方式.有人能让我明白幕后发生了什么吗?

推荐答案

在Vue中,Vue使用Proxy

Vue.js相关问答推荐

Nuxt.js i18n不提供默认区域设置中的页面而不重定向

我需要在 nuxt2 上使用 /index 作为 url 的一部分

Vue.js 3 没有组件的实例?

如何 for each 动态创建的按钮/文本字段设置唯一变量?

如何使用 vuejs 在浏览器 url 中获取当前 product.id 的详细信息

使用 nuxt.js 组件自动导入对性能不利吗?

在组件之间共享 websocket 连接

如何对将 DOM 元素附加到 HTML 正文的 Vue 组件进行单元测试?

无法在 Vuex 中的其他操作中反跳操作

Express.js + lint 出错

vuex: unknown getter: user

错误 [ERR_UNSUPPORTED_ESM_URL_SCHEME]:默认 ESM 加载器仅支持文件和数据 URL - Vue 3

包含 Vue 组件的 HTML 字符串的 Nuxt 渲染函数

使用 vue-router 的默认子路由

加载时焦点文本框上的 Vue.js

在路由更改之前显示确认对话框

如何在 Vue.js 插槽范围内传递方法

在 Vuejs 中放置 firebase.auth().onAuthStateChanged() 的位置

Vue Cli 3:定义的输出路径

如何在 vue3 中的setup方法中发出事件?