Vue.jsで開発しています。
javascript
1data: function() { 2 return { 3 inputForm: {}, 4 inputFormInit: { 5 sales_date_year: 2019, 6 sales_date_month: 1, 7 sales_date_day: 1, 8 }, 9 } 10}, 11 12methods: { 13 inputStart() { 14 this.$set(this.inputForm, 'id', ''); 15 this.$set(this, 'inputForm', this.inputFormInit); 16 }, 17},
こんな感じに記述し、ボタンを押したらinputStart関数を通して値を初期化させています。
inputFormにinputFormInitが入るところまでは良いのですが、
inputForm内の複数の変数は入力フォームとバインドされており、例えば売上年という入力フォームを変更すればinputForm.sales_date_yearが変更されます。
ただ、ここでinputForm.sales_date_yearだけではなく、inputFormInit内のsales_date_yearも同時に更新されてしまいます。
同じようにする記述を書いたわけでもないのですが、オブジェクト変数にオブジェクト変数をつっこむとリンクしてしまうのでしょうか?
this.$set(this, 'inputForm', this.inputFormInit);
この記述をthis.inputForm = this.inputFormInitに変更しても同じでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/16 06:44 編集