VueJS获取数据作为对象

这是一个VueJS组件:

<template>
  <a @click="log">click me<a>
</template>

<script>
  export default {
    data() {
      return {
        a: "a",
        b: "something",
        foo: { bar: "baz" },
        // etc.
      }
    },
    methods: {
      log() {
        // console.log( data ); 
        // ???
      }
    }
  }
</script>

我想datalog函数访问并将其作为对象获取(就像在其声明中一样)。我知道我可以得到这样的数据:

log() {
  console.log( this.a );
  console.log( this.b );
  console.log( this.foo );
}

但是我想要的是将整个数据作为对象(因为我想通过事件将数据发送到父组件)。

有没有办法在组件的方法内部获取整个数据对象?

逆天Eva2020/03/16 14:04:18

我认为您正在寻找的是返回整个数据对象,如下所示:

log() {
  console.log(this.$data);
}
凯A2020/03/16 14:04:18

您可以使用访问当前组件的数据对象this.$data

参考:链接

因此,日志功能应类似于:

log() {
  console.log(this.$data.a);
  console.log(this.$data.b);
  console.log(this.$data.foo);
}