vue中遇到的坑-数据赋值给多个对象

vue.js中把data中的一个数组中的一条数据赋值给另一个对象,对象修改数组跟着修改了,解决方法是

使用JSON.parse(JSON.stringify(data))

Vue 3,获取数据的时机可以有多个选择。根据你的描述,你已经尝试了在`beforeRouteEnter`钩子获取数据并在页面渲染之前将数据传递给跳转页面的实例,但是数据没有成功渲染出来。 一种常见的获取数据的时机是在组件的`onMounted`钩子函数获取数据。在这个钩子函数,你可以使用`axios`或其他HTTP库发送请求并获取数据。然后,将获取到的数据赋值给响应式的变量,以便触发页面的重新渲染。 根据你提供的代码示例,应该将获取到的数据赋值给`books`变量,而不是直接赋值给`books`对象。你可以通过`books = response.data`的方式将数据赋值给`books`变量。但是,需要注意的是,由于`books`是响应式的变量,你应该使用Vue提供的`unref`函数将其转换为普通的JavaScript对象,然后再进行赋值。具体的代码示例如下: ```javascript import axios from 'axios' import { onMounted, reactive, unref } from 'vue' export default { name: "getBooks", setup() { let books = reactive([]); onMounted(() => { axios.get('http://localhost:8000/.../book/getBooks') .then(response => { books = unref(response.data); console.log(response.data); }) .catch(error => { console.log(error); }) }) return { books, onMounted } } } ``` 这样,当组件被挂载到DOM上后,`onMounted`钩子函数会触发,并在获得数据后将其赋值给`books`变量。页面会根据`books`的变化重新渲染,显示获取到的数据。 除了在`onMounted`钩子函数获取数据,你还可以在其他生命周期钩子函数获取数据,如`onBeforeMount`、`onUpdated`等,根据你的需求选择合适的时机获取数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [对Vue beforeRouteEnter 的next执行时机详解](https://download.csdn.net/download/weixin_38700409/13620626)[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_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [分享Vue3通过axios获取后端数据遇到](https://blog.csdn.net/m0_50763141/article/details/124327819)[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_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值