2016-11-30 3 views
3

私はvue js appを書いています。コンソールロギング時にゲッターとセッターをフィルタリングする方法Vuejsのデータ?

vueインスタンスからデータをログオンすると、私には関係のないゲッタとセッタが表示されます。

var vm = new vue({ 

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

    methods: { 
    log() { 
     console.log(this.testData); 
    } 
    } 
}) 

上記の例は、hereです。

これは私がコンソール(非常に汚い)で取得されるものです:

enter image description here

私はできremove the settersログインするが、それは簡単なログのやり過ぎのようです前に。

この目的でVueには$logメソッドが組み込まれていましたが、v2では削除されました。

ログインする前にゲッター/セッターからデータをフィルタリングする方法はありますか?

以下の

console.log(JSON.parse(JSON.stringify(this.testData)));

new Vue({ 
 
    el:"#app", 
 
\t data:{ 
 
\t testData: { 
 
      stuff: 'some stuff', 
 
      something: 'some thing' 
 
\t } 
 
\t }, 
 
\t methods:{ 
 
\t log(){ \t  
 
      console.log(JSON.parse(JSON.stringify(this.testData))); 
 
\t } 
 
\t } 
 
\t })
<script src="https://unpkg.com/vue/dist/vue.js"></script> 
 

 
<div id="app"> 
 
    <button v-on:click="log">log</button> 
 
</div>

答えて

7

一つは、トリックを行う必要があります:

+0

値(メソッド)としての機能を持っていれば、3番目のメソッドは機能しますが、表示されません。サンプルhttps://codepen.io/anon/pen/YYzKPv – FewFlyBy

4

あなたはそれを行うことが

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)); 
} 
+1

それが持っていたので、私は他の答えをマークより多くのオプション。しかし、ありがとう! – hitautodestruct

関連する問題