鍍金池/ 問答/HTML5  HTML/ ngFor循環(huán)出來的li列表,如何實(shí)現(xiàn)點(diǎn)擊一個li,讓它單獨(dú)底色變化,而其它的l

ngFor循環(huán)出來的li列表,如何實(shí)現(xiàn)點(diǎn)擊一個li,讓它單獨(dú)底色變化,而其它的li卻不受影響呢?

ngFor循環(huán)出來的li列表,如何實(shí)現(xiàn)點(diǎn)擊一個li,讓它單獨(dú)底色變化,而其它的li卻不受影響呢?

回答
編輯回答
單眼皮

每一項(xiàng)加一個 boolean 標(biāo)示字段,點(diǎn)擊時單獨(dú)修改此字段,結(jié)合 ngClass 切換樣式類。

2017年9月6日 13:58
編輯回答
帥到炸

這個可以用JS結(jié)合css中的選擇器class來實(shí)現(xiàn),首先給其中一個起個class名把自己喜歡的顏色寫上去,然后在JS中循環(huán)每個li,先給每個li讓它們的類型等于“” 例如: className = "" 在循環(huán)體外把當(dāng)前點(diǎn)擊的的那個li通過this來將其類型變?yōu)閏ss中你起的class類名

2017年12月22日 20:27
編輯回答
初心
<li *ngFor="let item of arr | async; let i = index;" 
    [class.change-color]="selectedindex === i" (click)="onClick(i)">
</li>

維護(hù)一個變量selectedIndex, 在點(diǎn)擊li的事件處理函數(shù)onClick中設(shè)置selectedIndex,
這樣change-color的樣式就會動態(tài)的添加或移除了.

2017年7月6日 05:13