VueJS将数据作为对象获取

rap*_*2-h 15 javascript vue.js vue-component vuejs2

这是一个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>
Run Code Online (Sandbox Code Playgroud)

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

log() {
  console.log( this.a );
  console.log( this.b );
  console.log( this.foo );
}
Run Code Online (Sandbox Code Playgroud)

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

有没有办法将整个数据对象放在组件的方法中?

Shu*_*tel 27

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

参考:链接

所以日志功能应该是这样的:

log() {
  console.log(this.$data.a);
  console.log(this.$data.b);
  console.log(this.$data.foo);
}
Run Code Online (Sandbox Code Playgroud)


cor*_*ote 8

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

log() {
  console.log(this.$data);
}
Run Code Online (Sandbox Code Playgroud)