【已结案】这个怎么解决

综合技术   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2023-4-14

VUE,onload函数中接口返回的数据写入data中,但是,页面不渲染这个数据,用的是data中的初始数据,求解决方法,具体一点[玫瑰]


答案:success用箭头函数

沙发
凉心少年 2023-4-14
你请求有没有返回数据?
板凳
Pluie 2023-4-14
函数改变了作用域,你要在外层创建一个变量缓存this
地板
下马失心 2023-4-14
看一下请求发出去没有,打印一下res看一下
4楼
下马失心 2023-4-14
是不是没带token[汗]
5楼
默认昵称 2023-4-15
有返回数据,谢谢你的回复
6楼
默认昵称 2023-4-15
谢谢回复,
7楼
默认昵称 2023-4-15
有返回值得,谢谢回复
8楼
暗影王国 2023-4-16
如果在 `onload` 函数中接收的数据已经成功写入到 `data` 中,但页面没有渲染这个数据,那么可能是因为 Vue 框架中的响应式更新机制,需要对数据进行重新赋值才能触发视图更新。

您可以尝试使用 Vue 提供的 `$set` 或者直接对该属性进行重置赋值等方式来解决问题。具体操作如下:

1. 在 `onload` 函数中,使用箭头函数以保证作用域正确:

```
onload: () => {
// ...接口调用等相关逻辑
this.$set(this.data, 'key', value) // 或者 this.data.key = value
}
```

2. 如果您采用了异步请求接口数据的方式,在页面初次渲染时可能会导致该属性的默认值没有被替换成实际的数据。此时可以在组件加载完毕时手动触发一个刷新事件:

```
mounted() {
this.$nextTick(() => {
window.dispatchEvent(new Event('resize'))
})
}
```

这种方式会强制让 Vue 框架重新计算一遍视图,并展现出最新的数据。希望以上方法对您有所帮助。如果还有疑问,请随时向我提问。
9楼
默认昵称 2023-4-16
谢谢,,,,

评论

登录后才可发表内容
  • 主题

    1022

  • 帖子

    24595

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0956s Mem:2136Kb