Если предположить, что причиной вашей проблемы является реактивность объекта, то вы можете избежать этого тремя способами.
Путь 1
Не указывайте user
как свойство реактивных данных в экземпляре компонента. Я не уверен, как это сделать в Typescript, но обычно вы опускаете user
из объекта данных и вместо этого инициализируете this.user
в хуке created
.
Следствием этого является то, что свойство this.user
не будет реактивным. Это, вероятно, не то, что вы хотите.
Путь 2
Если вы назначите замороженные объекты на this.user
, то Vue не сделает объект реактивным:
this.user = Object.freeze(user)
Следствием этого является то, что все свойства объекта user
станут доступны только для чтения, что, вероятно, не то, что вам нужно.
Вместо этого вы можете использовать Object.seal()
или Object.preventExtensions()
.
Путь 3
Вы можете обмануть Вью, думая, что объект user
уже реагирует, назначив ему свойство _isVue
в true; таким образом, Vue не будет наблюдать это.
user._isVue = true
this.user = user
Следствием этого является то, что это не публичный API (насколько я знаю), поэтому он может измениться в будущем (и я предполагаю, что он, вероятно, выйдет Vue 3).