<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script type="text/javascript" src="../js/vue.js"></script> </head> <body> <!-- 条件渲染: 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.备注: 1).使用v-if时, 元素可能无法获取到, 而使用v-show一定可以获取到 2).template不会改变结构, 可以和v-if配合使用批量设置条件渲染 --> <div id="root"> <h2>当前n的值是{{n}}</h2> <button @click="n++">点我n+1</button> <!-- 使用v-show做条件渲染 --> <!-- <h2 v-show="false">请叫我{{name}}</h2> --> <!-- <h2 v-show="a">请叫我{{name}}</h2> --> <!-- 使用v-if做条件渲染 --> <!-- <h2 v-if="false">请叫我{{name}}</h2> --> <!-- <h2 v-if="1 === 1">请叫我{{name}}</h2> --> <!-- v-else和v-else-if --> <!-- <div v-if="n === 1">死亡赌局</div> <div v-if-else="n === 2">超级手机</div> <div v-if="n === 3">逍遥小医仙</div> <div v-else>绝天神印</div> --> <!-- v-if和template的配合使用 --> <template v-if="n === 1"> <h2>你好</h2> <h2>请叫我张钧</h2> <h2>哈哈哈</h2> </template> </div> </body> <script type="text/javascript"> Vue.config.productionTip = false const vm = new Vue({ el:'#root', data:{ name:'张钧', a:false, n:0 }, }) </script> </html>