当前位置:首页 > 技术分析 > 正文内容

vue项目-父页面数据变化使子页面更新的几种情况

ruisui884个月前 (01-07)技术分析24

当操作页面时候,特别是增删改操作之后,数据会有所改变,这个时候我们希望组件中的数据要和最新数据一致,就需要重新更新渲染。以下是针对几种不同情况下方式:

一.子页面调用接口后重新渲染

1.使用ref方式

父组件中用ref=“xxx” 来声明子组件,然后通过在父组件值改变的地方来调用子组件中的方法this.$refs.xxx.getData()来获取最新数据,完成重新渲染。

2.使用watch监听父传子数据

当父子传参使用props的方式,此时若父页面数据变化,更改传递给子组件的参数。

在子页面进行watch监听父页面传过来的值。getData查询最新数据完成更新。

注意:以上两种方式是通过getData查询结果后通过v-model双向绑定数据进行更新渲染页面。

二.需要子页面重新渲染才更新数据

这种情况一般出现:在子组件中的created或者mounted函数只会执行一次,在父组件添加数据成功之后,没有进行组件的切换,因此子组件不会重新渲染并且更新数据。

1.强制刷新页面(不推荐)

(1)原地刷新页面

this.$router.go(0) //根据路由重新定向到当前页

或者

location.reload() //重新加载当前页

(2)空白页面

先跳转到空白页马上再回到原页面

2.使用v-if方式

v-if=“status”

v-if是动态地向DOM树中添加或删除DOM元素节点;对子组件设置v-if,它会重新跑一遍子组件的生命周期进程。

3.采用key的方式

:key=“number”

当key的value值发生变化时,子组件会重新渲染。使子组件完整地触发生命周期钩子。完成页面的数据更新。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/83.html

分享给朋友:

“vue项目-父页面数据变化使子页面更新的几种情况” 的相关文章

7种超轻量级的Linux发行版,能够帮助你找到适合自己的操作系统

Linux是一种非常受欢迎的开源操作系统,而且有许多版本可以选择。有时候,你需要一种超轻量级的Linux发行版,它可以在资源有限的设备上运行,并且能够快速启动。本文将介绍7种超轻量级的Linux发行版,希望能够帮助你找到适合自己的操作系统。1. Tiny Core LinuxTiny Core Li...

Linux发行版Nobara更新39版本,号称“专为游戏玩家定制”

IT之家 12 月 27 日消息,Linux 发行版 Nobara 今天推出了 39 版本,主要改进了“Gamescope 合成器”,并更新了 OBS Studio、部分驱动程序及 Nautilus 文件管理器,小伙伴们可以点此访问项目地址。IT之家经过查询得知,Nobara 是一款基于 Fedor...

Win+Ubuntu缝合怪:第三方开发者推出“Wubuntu”Linux发行版

IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据介绍,这款 Wubuntu 发行版旨在为习惯使用 Windows 11 的用户打造...

面试官:聊聊你知道的Vue与React的区别

最近面到很多大公司的时候,小编都会碰到一个很尴尬的问题,很多大公司的技术栈都是React,但是小编学的是Vue,其实从本质上来说两者都是比较优秀的前端框架,所以有些面试官会问到Vue和React的区别。小编认真整理了一些自己所知道的Vue和React的区别,给大家分享分享。1. 模板语法 vs JS...

79.idea中git合并分支操作分享

文章目录前言1.fetch的操作2.合并最新代码到当前的开发分支3.解决冲突4.分支合并:5.完成代码合并总结前言git的操作在日产的工作中也非常重要,团队化的代码管理,每次如果代码被别人覆盖或者自己的代码不能提交到服务器那是灾难性的结果,本篇进行一篇分享来总结下idea中git的操作帮助java开...

使用cgroup限制进程资源

这里使用containerd项目中的cgroup包来实现进程资源限制。先写一个耗费一个CPU并且一秒增加10m内存的测试进程package mainimport ( "fmt" "math/rand" "time")func main() { go f...