Это происходит потому, что в Javascript объект передается по ссылке. Когда вы делаете user : this.account.user
, вы передаете ссылку на объект в user
данные. Вот почему, когда вы редактируете user
данные, account.user
также редактируется, они ссылаются на один и тот же объект.
Вы можете клонировать его с помощью оператора распространения ES6.
return { user : {...this.account.user} }
Если вы не используете ES6, я бы посоветовал вам использовать lodash clone .
return { user : _.clone(this.account.user) }
(Кстати, методы клонирования, описанные выше, работают только для мелкого объекта. Для глубоко вложенного объекта вместо этого используйте lodash cloneDeep.)