74 lines
2.2 KiB
HTML
74 lines
2.2 KiB
HTML
<!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> |