Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'loading')
时间: 2023-10-19 17:25:40 浏览: 131
Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'loading')是一个常见的错误,它通常表示在promise中设置了一个undefined的属性。根据引用中提到的解决方法,这个错误很可能是因为在网络请求的异步代码块中,this的作用域与当前数据所在类的this不同。
使用箭头函数或在后方加上bind(this)可以解决这个问题。箭头函数会继承外部的this值,因此在箭头函数中使用this时,它会沿着传递链一直向上找到实际的this。所以,你可以将httpRequest方法中的第二个.then()回调函数改为箭头函数,或者在该函数后加上.bind(this)。这样可以确保this指向正确的作用域,避免出现undefined的错误。
修改后的代码如下所示:
```javascript
httpRequest () {
fetch('https://jsonplaceholder.typicode.com/posts')
.then(function (response) {
return response.json()
})
.then((data) => {
this.posts = data
console.log(this.posts)
})
}
```
通过这样的修改,你应该能够避免Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'loading')错误的出现。希望这个解决方法能够帮到你。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法](https://download.csdn.net/download/weixin_38731761/13069683)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [vue出现 Uncaught (in promise) TypeError: Cannot set property posts of undefined at eval](https://blog.csdn.net/sinat_27798375/article/details/106225679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文