Vue.js 怎么处理 __ob__: Observer
时间: 2023-11-12 15:32:57 浏览: 180
Vue 源码分析之 Observer实现过程
在 Vue.js 中,`__ob__` 是一个内部属性,用于实现响应式系统。它是一个 Observer 实例,用于观察数据对象的变化。
在 Vue.js 中,当一个对象被加入到响应式系统中时,会通过 `Object.defineProperty` 方法将该对象的属性转换为 getter 和 setter。同时,会为该对象添加一个 `__ob__` 属性,用于存储 Observer 实例。
如果你在 Vue.js 中使用类似 `JSON.stringify` 的方法将一个包含 `__ob__` 属性的对象转换为字符串,会出现 `TypeError: Converting circular structure to JSON` 错误。这是因为 `JSON.stringify` 方法无法处理循环引用的情况。
如果你需要将一个包含 `__ob__` 属性的对象转换为字符串,可以使用 `JSON.stringify` 的第二个参数来选择要序列化的属性,或者使用 `Vue.util.deepClone` 方法先进行深度拷贝。
阅读全文