我有以下HTML結構:綁定相同的類和事件到多個動態生成的元素
<a href="#" @click.prevent="toggleClass">Show/Hide</a><br>
<li :class="{myClass: showItems}">Item 1</li>
<a href="#" @click.prevent="toggleClass">Show/Hide</a><br>
<li :class="{myClass: showItems}">Item 2</li>
<a href="#" @click.prevent="toggleClass">Show/Hide</a>
<li :class="{myClass: showItems}">Item 3</li>
而JS:
new Vue({
el: '#app',
data: {
showItems: true
},
methods: {
toggleClass: function(){
this.showItems = !this.showItems;
}
}
});
當我點擊<a>
元件中的任何一個,則toggleClass()
方法被執行其設定showItems
要麼true
或false
最終被施加到所有的元件。並且因爲<li>
元素是通過php foreach循環動態生成的,所以我沒有手動控制元素的類名稱。
在for循環中,HTML結構可能是這個樣子:
foreach($items as $item):
<a href="#" @click.prevent="toggleClass">Show/Hide</a><br>
<li :class="{myClass: showItems}">Item $item</li>
endforeach
如何應對這種局面?這裏是一個JSBin Demo
沒有在foreach ... –
這是因爲foreach是一個PHP構造和地方我上傳了代碼,只支持javascript。 – Eisenheim
毫米,那麼你需要使它的Vue下... –