Vue v-if 指令

来自姬鸿昌的知识库
Jihongchang讨论 | 贡献2023年6月9日 (五) 03:11的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

https://www.bilibili.com/video/BV12J411m7MG/?p=12

根据表达式的真假,切换元素的显示和隐藏(操纵 dom 元素)

<div>
  <p v:if="true">我是一个p标签</p>
  <p v:if="isShow">我是一个p标签</p>
  <p v:if="表达式">我是一个p标签</p>
</div>

var app = new Vue({
  el:"#app",
  data:{
    isShow:false
  }
})
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>v-if指令</title>
</head>

<body>
    <div id="app">
        <input type="button" value="切换显示" @click="toggleIsShow">
        <p v-if="isShow">hello world</p>
        <p v-show="isShow">hello world from v-show</p>
        <h2 v-if="temperature>=35">高温警报</h2>
    </div>
    <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script>
        var app = new Vue({
            el: "#app",
            data: {
                isShow: false,
                temperature:20
            },
            methods: {
                toggleIsShow: function () {
                    this.isShow = !this.isShow;
                }
            }
        })
    </script>
</body>
</html>

总结

  • v-if 指令的作用是:根据表达式的真假切换元素的显示状态
  • 本质是通过操纵 dom 元素来切换显示状态
  • 表达式的值为 true,元素存在于 dom 树中,为 false,从 dom 树中移除