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树