発生している問題
vue2でv-checkboxのchangeイベントを使ってfn関数を呼び出しています。props.item = { a: 100 }
がchangeイベントによってfn関数に渡されるとした時、fn関数の中で先にObject.assign(obj, { a: 0 });
が実行されて、その手前で書いているはずのconsole.logで{ a: 0 }
となっています。
この仕様は何に由来するのか検討がつかずに困っています。
なにか思いあたる方はコメント、ご指摘いただけると幸いです。
html
1 <v-checkbox2 @change="fn(props.item)"3 ></v-checkbox>
js
1methods: {2 fn(obj) {3 console.log(obj); // => obj: { a: 0 }4 Object.assign(obj, { a: 0 });5 }
試したこと
1Object.assign(obj, { a: 0 });
をコメントアウトすると{ a: 100 }
と出力される。
0 コメント