vue--v-if和v-show的区别(个人项目中的理解应用)
在面试的时候,一道vue基础到不能再基础的面试题叫做v-if与v-show的区别,当然答案网上一搜一大堆,基本两句话就能说明:
1.相同点:都是根据指令是否渲染该组件
2.不同点:v-if仅重新渲染当次,v-show相当于元素的display属性,只是样式上的显示或者隐藏。
这导致了它们的使用场景(不细致可以考虑不存在)不同,前者多用于使用渲染次数较少的环境,需要反复渲染的多用v-show,v-if会加大服务器压力等等。。
这里说项目当中遇到的几个场景:
1.使用v-if或者v-show做一个tab选项卡的切换
毫无疑问,这种场景下用v-show,因为一个选项卡中用户需要频繁切换,次数可能还相当大。当时在项目的需求当中,后端接口和前端这一块并不能做到tab1中的某个数据改变后,用户切换到tab2
后与这个数据相关的另一个数据即时改变,因为这两个tab是组件不是两个不同的页面,没法在create中重新刷新数据。
可行的方法是通过组件传值,可这样就很麻烦了,这里将父组件中的v-show换
成v-if,重新渲染当前组件,起到了一个局部渲染的作用。
2.需要用v-for渲染一组数据,data拿着一看600多条需要根据某一字段从大到小排列,一个屏幕才11,12条,很明显后边的就不用显示了,就显示前一百条吧,先v-if试试

不让连用,换成v-show就好了
3.使用v-show做一个点击到footer的5个按钮时分别显示不同的页面,相当于大组件
页面上就像调转到几个不同的页面(常见的app那种),但这里需求其实是一个页面中展示的不同组件!
在做每个页面(其实是组件)右侧边栏有一个按钮一直存在,点击时左侧均能划出80%宽的其他组件,所以得在5个组件都引入这个组件,而这个组件又恰巧因为内部某一部分只能展示展示在这几个
组件中的个别组件,这里的问题就是每次点击footer切换组件时,左侧都会划出其他组件的里的cover(现象是这样)。
可行方法是把左侧划出的组件拆了重写,也要改父组件,就相当于把山都挖了,
恐怖,效果还未知。。。。打印组件传值时发现cover的flag为true打印了五次,感觉是flag被每个组件重复传值了,所以在父组件中将v-show改用v-if,就像是将五个组件转换成5个页面,每次点击只
传值一次,,,,,,,解决了。
至于之后可能出现的问题,先不想。。。不想就没有问题
vue--v-if和v-show的区别(个人项目中的理解应用)的更多相关文章
- 缓存框架有使用过哪些?memcache和redis有什么区别?项目中,怎么去选择?
缓存有:ehcache,memcache和redis等 区别: 1. Redis和Memcache都是将数据存放在内存中,都是内存数据库.不过memcache还可用于缓存其他东西,例如图片.视频等等. ...
- session与cookie的区别以及HTML5中WebStorage理解
一.session与cookie的区别 二.HTML5中WebStorage理解 WebStorage的目的是克服由cookie所带来的一些限制,当数据需要被严格控制在客户端时,不需要持续的将数据发回 ...
- vue 快速入门 系列 —— 使用 vue-cli 3 搭建一个项目(下)
其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(下) 上篇 我们已经成功引入 element-ui.axios.mock.iconfont.nprogress,本篇继续 ...
- FFmpeg笔记--vcodec和-c:v,-acodec和-c:a的区别?
在看ffmpeg命令的时候经常会看到有些地方使用--vcodec指定视频解码器,而有些地方使用-c:v指定视频解码器,那这两个有没有区别呢? ffmpeg的官方文档: -vcodec codec (o ...
- 转:oracle几组重要的常见视图-v$latch,v$latch_children,v$lock,v$locked_object
v$latch Oracle Rdbms应用了各种不同类型的锁定机制,latch即是其中的一种.Latch是用于保护SGA区中共享数据结构的一种串行化锁定机制.Latch的实现是与操作系统相关的, 尤 ...
- oracle 入门笔记--v$sql和v$sqlarea视图(转载)
转载于作者:dbtan 原文链接:http://www.dbtan.com/2009/12/vsql-and-vsqlarea-view.html v$sql和v$sqlarea视图: 上文提到,v$ ...
- vue 的computed 和 watch 两者的区别
computed是计算属性,依赖其他属性计算,并且computed的值有缓存,只有当计算值发生变化才会返回内容. computed 用来监控自己定义的变量,该变量不在data里面声明,直接在compu ...
- Oracle基本数据字典:v$database、v$instance、v$version、dba_objects
v$database: 视图结构: SQL> desc v$database; Name Null? Type - ...
- POJ2762 Going from u to v or from v to u(单连通 缩点)
判断图是否单连通,先用强连通分图处理,再拓扑排序,需注意: 符合要求的不一定是链拓扑排序列结果唯一,即在队列中的元素始终只有一个 #include<cstdio> #include< ...
- Going from u to v or from v to u?_POJ2762强连通+并查集缩点+拓扑排序
Going from u to v or from v to u? Time Limit: 2000MS Memory Limit: 65536K Description I ...
随机推荐
- 【K8S】如何进入kubernetes的一个pod
如何进入kubernetes的一个pod呢,其实和进入docker的一个容器相似: 进入docker容器 : docker exec -ti <your-container-name> / ...
- KingbaseES Returning 的用法
概述 数据表更新时,如果需要对修改前后的数据进行记录或比较,需要返回更新前后的数据.KingbaseES 可以通过 UPDATE语句是否能直接返回影响的数据. KingbaseES支持insert,d ...
- linux xfce 在文件管理器里点击运行shell脚本文件
1.打开 Settings Editor 2.点击左边的 thunar 3.点击右边的 添加 ,在属性中输入 /misc-exec-shell-scripts-by-default 在类型中选择布尔类 ...
- 第十三届蓝桥杯大赛软件赛省赛【Java 大学B 组】试题B: 山
1 public class HelloWorld { 2 public static void main(String args[]) { 3 long count=0; 4 String temp ...
- #排列组合#美团2018年CodeM大赛-决赛 A-Exam
题目 分析 因为第一名所在的学校一定会发喜报, 所以只有一个学校发喜报说明其它学校都没有发喜报 钦定第一名所在的学校为1,总方案要乘\(n\),那么两个1之间不可能出现两个相同的学校的学生 那么可以分 ...
- #dp,模型转换,排列组合#AT1983 [AGC001E] BBQ Hard
题目 有两个长度为\(n\)的序列\(a,b\),需要求 \[\sum_{i=1}^n\sum_{j=i+1}^nC(a_i+b_i+a_j+b_j,a_i+a_j) \] 其中\(n\leq 200 ...
- 携手HMS Core分析服务,以数据助力游戏高效增长
HMS Core分析服务,以数据助力游戏高效增长,覆盖玩家全生命周期运营场景,与华为应用市场强强联合,玩转智能运营. 了解更多: https://developer.huawei.com/consum ...
- 华为帐号为AITO问界M5助力,打造懂你的智能座舱
12月23日,在华为冬季旗舰新品发布会上,AITO问界M5正式发布.华为赋能的AITO问界M5搭载HUAWEI DriveONE纯电驱增程平台和HarmonyOS智能座舱,并且带来华为终端云服务软硬协 ...
- 成像光谱遥感技术中的AI革命:ChatGPT在遥感领域中的应用
遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理.化学和生物系统的基石.ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力.重点 ...
- openGauss3.1.0企业版HA环境部署测试
前言 openGauss 是华为开源的一款高性能关系型数据库,这两年感觉 pg 系的数据库在国内慢慢火起来了,pg 的操作还是跟 mysql 和 oracle 略有差距,还得慢慢学,先从部署开始吧.对 ...