当前位置: 首页 > news >正文

v-if 和v-show的相同和区别

引入vue.js

注意的是:
v-if后边的条件只要跟着v-else 中间就不能在夹杂任何的标签元素了
v-if和v-show 相同点都是实现对dom的操作,显示或者隐藏
不同的是:v-if是将元素在文章中删除。
v-show则是相当于添加了样式 display:none。

v-show不能使用在template标签上,只因为本身template就不会渲染,
只是在修改css属性中的display;也不能配合v-else使用。

所以:一般来说,v-if有更高的切换开销,而v-show有更高的初始渲染开销,
因此。如果需要非常频繁的切换,就使用v-show,如果运行条件很少该笔那,则用v-if

条件渲染
1 v-if
在Vue中可以使用v-if来控制模板里元素的显示和隐藏,值为true就显示,为false就隐藏,v-if控制的是 是否渲染这个节点。
2 v-else v-else-if
当有else分支逻辑的时候,可以给该元素加上v-else 指令控制,v-else会根据上面的哪个v-if来控制,效果与 v-if相反,注意就是一定及挨着
还有哦v-else-if指令可以实现多分支逻辑。
在这里插入图片描述

 <div id='app'>
    {{msg}}
    <p><button @click="isShow=!isShow">点击切换</button></p>
    <!-- <p v-if='isShow'>v-if显示的p段落</p>
    <p v-else>v-else文段</p> -->

    <!-- v-show -->
    <p v-show='isShow'>这个是v-show,</p>

    <template v-show='isShow' >
      <!-- 在这里v-show是不能和template一起使用的 如果套一起是=使用就讲v-show改成v-if -->
      <p >这个是template文段</p>
    </template>

    <template v-if='isShow'>
      <p>这个是新的恩端</p>
    </template>
<!-- eg  v-if
-->
<input type="text" v-model='type'>
<div v-if="type==='a'"> a</div>
<div v-else-if="type==='b'">b</div>
<div v-else-if="type==='c'">c</div>
<div v-else>Not a/b/c</div>

  </div>

在这里插入图片描述
我们的script标签中内容

    var vm =new Vue({
      el:'#app',
      data:{
        msg:"nihao",
        isShow:true,
        type:true,
      }
    })

相关文章:

  • 字典树(Trie tree)
  • Vue中组件的分类
  • 计算机是怎么跑起来的(1)
  • Android学习笔记(二)
  • vue-生命周期
  • Flex/AS3/flash player支持屏蔽右键菜单,自定义菜单,并设置相应的菜单事件(示例,图解)...
  • vue-cli脚手架 搭建项目
  • 玩转无线电 -- 温哥华天车 RFID 票务系统
  • 前端常见的linux指令
  • [转]CentOS-6.3安装配置SVN
  • leetcode 205. Isomorphic Strings
  • node的安装
  • Sqlserver2008相关配置问题
  • node 模块简述--内置fs http ---自定义模块
  • ppt 制作海报 导出高分辨率图片
  • Github访问慢解决办法
  • Git的一些常用操作
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • Vue源码解析(二)Vue的双向绑定讲解及实现
  • yii2权限控制rbac之rule详细讲解
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 学习ES6 变量的解构赋值
  • 异步
  • # .NET Framework中使用命名管道进行进程间通信
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • #etcd#安装时出错
  • #FPGA(基础知识)
  • (笔试题)分解质因式
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (一)python发送HTTP 请求的两种方式(get和post )
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net Application的目录
  • .NET Core中Emit的使用
  • .NET NPOI导出Excel详解
  • .net 程序发生了一个不可捕获的异常
  • .Net 高效开发之不可错过的实用工具
  • .net 提取注释生成API文档 帮助文档
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .NET多线程执行函数
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .ui文件相关
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [ C++ ] STL---string类的模拟实现
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [AR]Vumark(下一代条形码)
  • [ASP.NET MVC]如何定制Numeric属性/字段验证消息