Vue3:页面A搜索后跳转到页面B,然后从页面B退回页面A重新搜索,但是得到的页面B得刷新一下才会显示正确的数据

问题

Vue3: 从页面A进行搜索后跳转到页面B,然后从页面B退回页面A重新搜索,但是得到的页面B得刷新一下才会显示正确的数据。

  • 读取数据的代码格式大致如下(代码做了一些删减):

解决

  • 会出现上述情况,是因为渲染数据这个步骤没有出现在Vue实例的生命周期中合适的阶段,读取数据并渲染数据的步骤应该放在组件实例已经完全创建后。而上述代码把数据的声明放在了setup函数外,vue3的setup函数相当于vue2中的 beforeCreate 和created函数的结合,因此应该把数据的声明放在setup函数中。

  • 下图是vue2和vue3生命周期钩子函数的一个对比(图源网络):

  • 对于Vue3来说,可以直接使用语法糖,可以避免一些因生命周期函数使用不当而造成的错误,在script标签中加个setup即可

javascript 复制代码
<script setup>
</script>
相关推荐
追光少年33226 天前
Learning Vue 读书笔记 Chapter 2
前端·javascript·vue.js·vue3
相识于风中8 天前
antdesignvue统计数据源条数、计算某列合计值、小数计算不精确多了很多小数位
前端·javascript·vue3
骆驼Lara9 天前
Vue3.5 企业级管理系统实战(三):页面布局及样式处理 (Scss & UnoCSS )
前端·javascript·css·vue.js·vue3·scss
banzhuanren19 天前
vue3+ts watch 整理
vue3
唯之为之10 天前
# Vue3.5常用特性整理
vue3·ssr
于指尖飞舞10 天前
在vue3中使用datav完整引入时卡在加载页面的解决方法
vue3·报错·datav
猫猫村晨总11 天前
基于 Vue3 + Canvas + Web Worker 实现高性能图像黑白转换工具的设计与实现
前端·vue3·canvas
上官熊猫11 天前
nuxt3项目打包部署到服务器后配置端口号和开启https
前端·vue3·nuxt3
璇璇吴11 天前
vue3 el-form表格滚动
javascript·vue3·elementplus
放逐者-保持本心,方可放逐19 天前
vue2 升级为 vue3+第三方库升级+vue2与vue3混合交互
vue3·vue2·交互·项目升级·第三方库升级