【发布时间】:2019-07-11 20:38:32
【问题描述】:
这个有点奇怪,抱歉。
我正在使用第三方库从 API 获取一些数据
import lib from 'third-party'
import Vue from 'vue'
@Component({})
export default UserComponent extends Vue{
public user = null as lib.User | null
mounted(){
lib.getUser().then((val: lib.User) => {
this.user = val; /// this is where things blow up
})
}
} // this is from memory, but it looks like a decent recreation ¯\_(ツ)_/¯
因此,lib 从 API 调用中获取响应,并使用它来生成 lib.User 类型的实例。到目前为止一切都很好,但是一旦我将响应分配给组件中的属性,新的“lib.User”实例中的几个函数就会触发,并且我开始收到大量错误。
我的猜测是 Vue 正在将对象属性转换为反应性属性,这会导致事件触发。
如果我可以避免的话,我希望在组件中有这个对象,而不必将它映射到本地生成的对象。
有没有办法阻止这种行为?
【问题讨论】:
标签: vue.js vuejs2 vue-component