第一章 Vue核心 第十一节 条件渲染

条件渲染:
   1.v-if
      写法:
          (1).v-if="表达式"
          (2).v-else-if="表达式"
          (3).v-else="表达式"
      适用于:切换频率比较低的场景
      特点:不展示的DOM元素直接移除
      注意:v-if可以和v-else、v-else-if一起使用,但要求结构不能被打断

   2.v-show
      写法:v-show="表达式"
      适用于:切换频率比较高的场景
      特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉

   3.备注:使用v-if时,元素可能无法获取到,二使用v-show一定可以获取到

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>条件渲染</title>
    <script src="../lib/vue.js"></script>
    <link rel="stylesheet" href="../../鼠标指针样式.css"/>
</head>
<body>
    <!--准备好一个容器-->
    <div id="root">
        <h2>当前的n值是{{n}}</h2>
        <button @click="n++">点我n+1</button>
        <button @click="n--">点我n-1</button>
        <!--使用v-show做条件渲染-->
        <!--<h2 v-show="false">你好,{{name}}</h2>-->

        <!--使用v-if做条件渲染-->
        <!--<h2 v-if="false">你好,{{name}}</h2>-->

        <div v-if="n === 1">Angular</div>
        <div v-else-if="n === 2">React</div>
        <div v-else-if="n === 3">Vue</div>
        <div v-else>你好!{{name}}</div>

        <template v-if="n === 1">
            <h2>1</h2>
            <h2>2</h2>
            <h2>3</h2>
            <h2>4</h2>
        </template>
    </div>

    <script type="text/javascript">
        Vue.config.productionTip = false;

        const vm = new Vue({
            el:'#root',
            data:{
                name:'retrace',
                n:0
            },
            methods:{
            }
        });
    </script>
</body>
</html>
posted @ 2021-10-14 18:29  何以之  阅读(41)  评论(0)    收藏  举报