Vue常用指令-条件渲染(v-if)
v-if 条件渲染
- 用于返回表达式为true的值
- 渲染多个标签可以使用
<template>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> </head> <body> <div id="app"> <!-- 如果v-if值为true,这个标签中的内容就会展示 --> <h1 v-if="isShow">Show is true</h1> <!-- 表达式为 false 的时候展示 v-else 元素的内容 --> <h1 v-else>isShow is false</h1> <!-- 渲染多个标签 --> <template v-if="isShow"> <p>段落1</p> <p>段落2</p> </template> </div> </body> </html> <script> var vm = new Vue({ el: "#app", data: { isShow: false, } }) </script>
v-show:元素是否显示
<body> <div id="app"> <div v-show="show">true 可以显示</div> </div> </body> <script> var vm = new Vue({ el: "#app", data: { show: false, } }) </script>
v-if与v-show的区别
v-if通过操纵dom元素来进行切换显示
- 表达式为true时,元素存在于dom树中
- 表达式为false时,元素从dom树种移除
v-show只是简单控制dom元素的display属性
- 渲染HTML元素,符合条件时显示,不符合条件display为none,元素还在dom树