Używam komponentów VueJS do utworzenia tabeli dynamicznej wyceny. Jednym z bardziej "statycznych" elementów jest "najbardziej popularna" etykieta dodana do planu zespołu. Chcę móc używać v-if, aby wyświetlić i dodać dodatkową klasę na planie oznaczonym jako najbardziej popularny. Uprościłem kod pod kątem zwięzłości.Vue JS - użycie v-if z komponentami
Możesz zobaczyć Próbowałem wiele sposobów formatowania wyrażenia (obecnie różni się między v-bind i v-if), ale nie jestem pewien, czy to podejście jest możliwe.
Oto kod HTML.
<div id="app">
<ul class="plans">
<plan-component :
name="Basic"
most-popular=false
></plan-component>
<plan-component :
name="Recreational"
most-popular=false
></plan-component>
<plan-component :
name="Team"
most-popular=true
></plan-component>
<plan-component :
name="Club"
most-popular=false
></plan-component>
</ul>
<template id="plan-component">
<li v-bind:class="{ 'most-popular': mostPopular == true }">
<template v-if="most-popular === true">
<span class="popular-plan-label">Most popular</span>
</template>
<p>{{ name }}</p>
</li>
</template>
</div>
A oto JS.
Vue.component('plan-component', {
template: '#plan-component',
props: ['name', 'mostPopular'],
});
new Vue({
el: '#app';
});
To jest dokładnie to, co starałem się zrobić. Dziękuję bardzo. – GuerillaRadio