Ich bin auf der Suche nach einer Klasse mit Vue JS. Ich habe The Class and Style bindings Dokumentation gelesen, aber ich kämpfe immer noch, um herauszufinden, die richtige Möglichkeit, um eine Klasse umzuschalten.Toggle Klasse in Vue JS
Ich habe meinen Code für die Kürze vereinfacht, aber im Wesentlichen habe ich eine Liste von 4 "Pläne", jeder mit einem Knopf, der dem Benutzer erlaubt, den Plan auszuwählen, den sie kaufen möchten. Mit dem aktuellen Code wird die aktive Klasse hinzugefügt, aber wenn Sie auf eine Schaltfläche aus einem anderen Plan klicken, bleibt die Klasse auf dem jetzt nicht aktiven Plan.
Hier ist der HTML.
<div id="app">
<ul class="plans">
<plan-component :
name="Basic"
></plan-component>
<plan-component :
name="Recreational"
></plan-component>
<plan-component :
name="Team"
></plan-component>
<plan-component :
name="Club"
></plan-component>
</ul>
<template id="plan-component">
<li v-bind:class="{ 'active-plan': isActive }">
<h2 class="plan-name">{{ name }}</h2>
<a href="#" v-on:click="makeActivePlan($event)" class="select-plan button">Choose this plan</a>
</li>
</template>
</div>
Hier ist der JS.
Vue.component('plan-component', {
template: '#plan-component',
props: ['name', 'isActive'],
methods: {
makeActivePlan(e) {
// We dispatch an event setting this to become the active plan
e.preventDefault();
this.isActive = true;
this.$dispatch('set-active-plan', this);
}
}
});
new Vue({
el: '#app',
data: {
activePlan: { name: 'n/a' }
},
events: {
'set-active-plan': function(plan) {
this.activePlan = plan;
}
},
});
Dies ist genau das, was ich suche, danke! – GuerillaRadio