条件判断
三元运算符 this.message = this.message == 'Hello world' ? 'Good Bye' : 'Hello world';
v-if
v-else 注意else只与最近的v-if相关
v-show 与v-if的区别是v-show通过css的display:none控制DOM是否显示,页面无需再次渲染;但不能用v-else共用
data(){
return{
show:true,
}
},
template:`<h2 v-show="show">v-show使用</h2>`
<h2 style="display: none;">v-show使用</h2>
Demo11.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Hello World</title>
<script src="https://unpkg.com/vue@next"></script>
</head>
<style>
.one {
color: red;
}
.two {
color: green;
}
.three {
color: orange;
}
</style>
<body>
<div id="app"></div>
</body>
<script>
const app = Vue.createApp({
data() {
return {
message: 'Hello world'
}
},
methods: {
messageBtnClick() {
this.message = this.message == 'Hello world' ? 'Good Bye' : 'Hello world';
},
startBtnClick() {
this.message = 'Gogogo';
}
},
template: `<h1 :class="message=='Hello world'?'one':'two'" @click="messageBtnClick">{{message}}</h1>
<br>
<h2 class="one" v-if="message=='Hello world'" @click="messageBtnClick">{{message}}</h2>
<h2 class="two" v-if="message=='Good Bye'" @click="messageBtnClick">{{message}}</h2>
<h2 class="three" v-if="message=='Gogogo'" @click="messageBtnClick">{{message}}</h2>
<br>
<h3 class="one" v-if="message=='Hello world'" @click="messageBtnClick">{{message}}</h3>
<h3 class="two" v-if="message=='Good Bye'" @click="messageBtnClick">{{message}}</h3>
<h3 class="three" v-else @click="messageBtnClick">{{message + " 注意else只与最近的v-if相关"}}</h3>
<br>
<button @click='startBtnClick'>Gogogo</button>
`
});
const vm = app.mount("#app");
</script>
</html>