【uniapp、unicloud赋值json对象打印时输出_ob_ dep】

问题

使用云函数获取云数据库的数据时,发现json对象没有赋值前打印出来是正常的,但是赋值之后打印出来就变成了如下:

{
	"affectedDocs": 2,
	"data": [{
		"__ob__": {
			"dep": {
				"id": 672,
				"subs": [{
					"active": true,
					"before": "function before () {\n      if (vm._isMounted && !vm._isDestroyed) {\n        callHook(vm, 'beforeUpdate');\n      }\n    }",
					"cb": "function noop (a, b, c) {}",
					"deep": false,
					"depIds": "Object",
					"deps": "Object",
					"dirty": false,
					"expression": "function () {\n      vm._update(vm._render(), hydrating);\n    }",
					"getter": "function () {\n      vm._update(vm._render(), hydrating);\n    }",
					"id": 121,
					"lazy": false,
					"newDepIds": "Object",
					"newDeps": "Object",
					"sync": false,
					"user": false,
					"vm": "Object"
				}]
			},
			"value": {
				"__ob__": {
					"dep": {
						"id": 672,
						"subs": "Object"
					},
					"value": {
						"__ob__": "Object"
					},
					"vmCount": 0
				}
			},
			"vmCount": 0
		}
	}, {
		"__ob__": {
			"dep": {
				"id": 686,
				"subs": [{
					"active": true,
					"before": "function before () {\n      if (vm._isMounted && !vm._isDestroyed) {\n        callHook(vm, 'beforeUpdate');\n      }\n    }",
					"cb": "function noop (a, b, c) {}",
					"deep": false,
					"depIds": "Object",
					"deps": "Object",
					"dirty": false,
					"expression": "function () {\n      vm._update(vm._render(), hydrating);\n    }",
					"getter": "function () {\n      vm._update(vm._render(), hydrating);\n    }",
					"id": 121,
					"lazy": false,
					"newDepIds": "Object",
					"newDeps": "Object",
					"sync": false,
					"user": false,
					"vm": "Object"
				}]
			},
			"value": {
				"__ob__": {
					"dep": {
						"id": 686,
						"subs": "Object"
					},
					"value": {
						"__ob__": "Object"
					},
					"vmCount": 0
				}
			},
			"vmCount": 0
		}
	}]

解决办法

事实上这个是vue的__ob__: Observer这些数据是vue这个框架对数据设置的监控器。不能够直接打印但是也是可以获取数据的

const va = uniCloud.importObject("getques")
const ans = await va.getList()
this.res = ans.data//给本地的res对象赋值
console.log(ans)//这样打印出来就是如上代码一样是看不到数据的
console.log(this.res.data[0].que)//这样打印就可以打印出正常的数据了打印结果是

image-20221004122027580

其实可以正常操作了,在v-for中遍历

image-20221004122110420

得到结果

image-20221004121912567

参考文章

Vue ob: Observer 对象

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值