指令:
v-if/v-else-if/v-else
v-if: 根据表达式真假生成或删除一个元素
当表达式的值为false时 v-if指令不会创建该元素 为true 才会创建该元素
v-show 不管表达式真假 都会创建 显示与否是通过 css display控制
如果 v-if需要控制多个元素的创建或删除 可以用 <template>元素包裹这些元素 然后在 template元素上使用
v-if 有更高的切换开销
v-show 有更高的初始渲染开销
需要非常频繁切换元素的显示和隐藏 使用 v-show 更好,运行时条件很少改变 使用v-if更好
v-if 实例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<template v-if="!isLogin">
<form action="">
<p>username: <input type="text"></p>
<p>password: <input type="password"></p>
</form>
</template>
</div>
<script src="https://unpkg.com/vue@next"></script>
<script>
const vm = Vue.createApp({
data(){
return {
isLogin:false
}
}
}).mount("#app");
</script>
</body>
</html>实例2:
<body>
<div id="app">
<h3 v-if="ok">冰箱</h3>
<h3 v-if="no">洗衣机</h3>
<h3 v-if="num>=100">库存很多</h3>
</div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
const vm = Vue.createApp({
data(){
return{
ok:true,
no:false,
num:1000
}
}
}).mount('#app');
</script>
</body>