控制台记录Vuejs数据时如何过滤掉getter和setter?

hit*_*uct 4 javascript console.log vue.js

我正在写一个vue js应用程序.

当我从vue实例中控制日志记录数据时,我会看到它与我不相关的getter和setter.

var vm = new vue({

  data () { return { testData: { stuff: 'some stuff' } }; },

  methods: {
    log () {
      console.log( this.testData );
    }
  }
})
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到上面的例子.

这是我在控制台中得到的(非常脏):

在此输入图像描述

我可以在记录之前删除setter,但对于简单的日志来说这似乎有些过分.

$log为了这个目的,Vue曾经有一个内置方法,但它已在v2中删除.

有没有人知道如何在登录之前过滤getter/setter中的数据?

Mih*_*lcu 7

以下之一应该做的伎俩:

log: function(d) {
    console.log(Object.assign({}, this.form));
}

// if you have jQuery
log: function(d) {
    console.log($.extend({}, this.form));
}

// what $log does
log: function(d) {
    console.log(JSON.parse(JSON.stringify(this.form));
}

// ES6 Destructuring
log: d => ({ ...d })
Run Code Online (Sandbox Code Playgroud)