vue.jsを使用して画像のレイヤーを追加および削除する必要があるプロジェクトがあります。2.トッピングを追加する必要があるピザを構築しています。私の現在のソリューションには欠陥があります。新しいものを追加すると、他のすべての要素/ピザトッピングが削除されます。Vue.js 2ループされた要素のクラスを動的に追加および削除する
トッピングは、ループする配列から生成されます。
私はこれが簡単だと確信していますが、私はvue.jsの新人です。私はすでに何時間も苦労しています...ありがとう!
<div id="app" class="container-fluid">
<div class="row">
<div class="left-container">
<h2>add your ingredients:</h2>
<div v-for="(item, index) in pizzas" v-bind:key="index">
<button class="btn btn-primary" v-on:click="show == index ? show = -1 : show = index">{{ item.pizza }}</button>
</div>
<div class="submit-buttons">
<button class="btn btn-primary reset-pizza" v-on:click="show = -1">Reset pizza</button>
<a href="http://fb.com" target="_blank"><button class="btn btn-primary submit-pizza">Share pizza</button></a>
</div>
</div>
<div class="right-container">
<ul class="pizza-layers">
<li v-for="(item, index) in pizzas" class="pizza-canvas" v-bind:class="item.class" v-if="show == index"></li>
<li class="pizza-canvas pizza-canvas--topping-base"></li>
</ul>
</div>
</div>
</div>
<script>
new Vue({
el: '#app',
data: {
pizzas: [
{ pizza: 'Salami', class: 'pizza-canvas--topping-salami' },
{ pizza: 'Rucolla', class: 'pizza-canvas--topping-rucolla' },
{ pizza: 'Cheese', class: 'pizza-canvas--topping-cheese' }
],
show: {},
},
})
</script>
作品、感謝Nisarg! –