vue元素显示隐藏 vif 和 vshow 指令

摘要:
V-if和V-show在vue中,V-if和V-show将根据接收到的真/假信息显示或隐藏页面上的元素。V-show具有更高的渲染消耗。如果你需要频繁切换,v秀更合适。案例:通过按钮控制,元素内容可以在显示和隐藏之间切换:#one{300px;height:40px;background color:orange;}#两个{300px;高度:40px;背景颜色:浅绿色;}v-if和v-show˂button@click=“Flag=!V-if和V-else在Vue中,V-if、V-else if和V-else指令的组合可以实现多分支结构。注意:V-if与V-else一起使用,但页面没有˂!

v-if 和 v-show
在vue中,v-if 和 v-show 会根据接收 true/false 信息使得页面上元素达到显示或隐藏的效果。

语法:

<标签 v-if="true/false"></标签>

<标签 v-show="true/false"></标签>

<!--true:显示 false:隐藏-->
原理:

v-if:通过 创建、销毁 dom元素的方式达到显示、隐藏效果(销毁后有一个占位符 )。

v-show:通过css控制样式style达成显示、隐藏效果。

display:none; 隐藏
display:block; 显示
特点:

v-if 有更高的切换消耗 ,如果运行条件不大可能改变,则v-if 较合适。

v-show有更高的渲染消耗,如果需要频繁切换,则v-show 较合适。

注意:

v-if使得元素被隐藏后,这个元素的物理位置有一个名称为<!---->的占位符,其与html的注释信息没有关系。

案例:

通过按钮控制,使得元素内容在显示和隐藏之间切换:

<style>
#one{ 300px;height: 40px;background-color:orange;}
#two{ 300px;height: 40px;background-color:lightgreen;}
</style>
</head>
<body>
<div id="app">
<h2>v-if和v-show</h2>
<button @click="flag=!flag">切换</button>
<p v-if="flag">vue指令--v-if</p>
<p v-show="flag">vue指令--v-show</p>
</div>
<script src="http://t.zoukankan.com/vue.js"></script>
<script>
var vm = new Vue({
el:'#app',
data:{
flag:false // 控制标签是否显示true/false
},
});
</script>
注意:

​ 事件驱动不仅可以是methods方法,也可以是简单的js语句。

v-if 和 v-else
在Vue中,v-if 、v-else-if 和 v-else 三个指令结合可以实现多路分支结构。

v-if 可以单独使用,形成单路分支结构。
v-if 和 v-else 可以合作使用,实现双路分支结构。
v-if 、v-else-if 和 v-else 可以合作使用,实现多路分支结构。
语法:

<标签 v-if="true/false"></标签>

<标签 v-else-if="true/false"></标签>

<标签 v-else-if="true/false"></标签>

<标签 v-else></标签>
注意:

​ 以上4个标签分支结构,最终只会走一个,第一个为true的那个标签会执行 或 执行v-else。

案例应用:

判断品牌信息是否存在,并显示对应内容

<table v-if="brandList.length>0">
……
</table>
<table v-else>
<tr><td>没有任何记录!</td></tr>
</table>
注意:

​ v-if 和v-else 一并使用,页面没有<!---->占位符了。

————————————————
版权声明:本文为CSDN博主「木蓝茶陌*_*」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jyn15159/article/details/111245324

免责声明:文章转载自《vue元素显示隐藏 vif 和 vshow 指令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mac10.9下的libtiff编译chrome出现“由贵单位管理”原因及解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

vue中在echarts tooltip中添加点击事件

需求:需要在echarts tooltip点击学校的名称,跳转到详情页面;项目是从上海市---> 某个区----> 具体的学校(在最后一级的tooltip中绑定一个点击事件)    ‘  项目是用vue和echarts实现的,echarts是新版本(^5.0.2),并不能把点击事件绑定在window上 解决方法: 1、设置tooltip ent...

vue使用watch监听实现即时搜索功能

<template> <div> vue使用watch监听实现类似百度搜索功能 <div> <input type="text" placeholder="搜索" v-model.trim='keyword' /> </...

vue 多语言 vue-i18n 按需加载,异步调用

http://kazupon.github.io/vue-i18n/zh/guide/lazy-loading.html 一次加载所有翻译文件是过度和不必要的。 因为可能一直用中文,那么就不会用到英文的数据,就没必要去加载。只在请求的时候去加载它 1.新建i18n.js import Vue from 'vue' import VueI18n from '...

vue项目中在同一页面多次引入同一个echarts图表子组件的自适应问题

 在父组件页面引入两次该图表子组件显示的效果:       由于是百分比宽高,所以在窗口发生变化时,需要让图表也跟着自适应,所以才出现了本次讨论的问题啦。  先看下完整的图表子组件代码(在父组件就是直接引入,不需要传参哦): <template> <div ref="pieDom" style=" 100%;height: 10...

Vue template 报错 Type expected.Vetur(1110)

解决方案: 1. 文件名称中不要含Test 2.可以复制正常文件,再改名字 排查步骤如下: 1. 按其他博客写的去设置了vetur.validation.template false,切换到问题vue文件,还是报错; 2. 尝试将没报错的文件内容复制过来,依然报错; 3.内容后,输入<template,选择default.vue 模板,依然报错;...

vuex源码解析及简单实现

vuex源码解析 目录 vuex源码解析 一、vuex的使用回顾 二、逐句剖析vuex的使用 1. vue.use( ) 2. new Vuex.Store( ) 3. action 三、刻画vuex 的大致结构 四、完成 install 方法 五、完成 Store 中的 state 六、完成 Store 中的 getters 七、完成 Stor...