前端接收值和打印不一样

问题遇到的现象和发生背景

前端接收值与打印的值不一样

img


但是却打印出来为0

img

问题相关代码,请勿粘贴截图
/** 查询【请填写功能名称】列表 */
getList() {
  this.loading = true
  listDk(this.queryParams).then((response) => {
    this.hbList = response.rows
    console.log(response.rows)
    this.total = response.total
    this.loading = false

  })
}
运行结果及报错内容

没有显示报错

我的解答思路和尝试过的方法

1、以为是参数重新赋值过,但是没有,仅仅返回回来,之后就打印进行测试

我希望有遇见过或者有能力之士解答,感谢

在向后台接口拿到返回数据之后,用深拷贝赋值给你的this.total

应该是其它地方的代码改变了这个值

因为console.log()输出对象或数组时是在控制台显示一个对象或数组的引用。
在用console.log()输出数组或对象时,对象(数组)的属性是折叠不显示的。
如果你在console.log()输出之后改变了对象(数组)的属性,当你点击三角展开属性时,会重新读取对象(数组)当前的属性,也就是显示出来的是你点击三角展开时的属性,而不是执行console.log()时的属性。

你用console.log(JSON.stringify(obj));以字符串方式输出就可以看到对象当前的值

因为你 有地方又改变了这个的值 。

直接在拿到值之后深拷贝保存,以防其他地方改变。

获取的时候别的地方修改了这个值