lession 34: computed properties in classes

This commit is contained in:
Andreas Zweili 2021-01-18 22:51:29 +01:00
parent 043e32cb67
commit b3b6630e4b
2 changed files with 14 additions and 3 deletions

View File

@ -8,6 +8,17 @@ const app = Vue.createApp({
boxCSelected: false,
};
},
computed: {
classesBoxA() {
return { active: this.boxASelected };
},
classesBoxB() {
return { active: this.boxBSelected };
},
classesBoxC() {
return { active: this.boxCSelected };
},
},
methods: {
boxSelected(box) {
if (box === "A") {

View File

@ -16,9 +16,9 @@
<h1>Vue Dynamic Styling</h1>
</header>
<section id="styling">
<div class="demo" :class="{active: boxASelected}" @click="boxSelected('A')"></div>
<div class="demo" :class="{active: boxBSelected}" @click="boxSelected('B')"></div>
<div class="demo" :class="{active: boxCSelected}" @click="boxSelected('C')"></div>
<div class="demo" :class="classesBoxA" @click="boxSelected('A')"></div>
<div class="demo" :class="classesBoxB" @click="boxSelected('B')"></div>
<div class="demo" :class="classesBoxC" @click="boxSelected('C')"></div>
</section>
</body>