ngFor循环出来的li列表,如何实现点击一个li,让它单独底色变化,而其它的li却不受影响呢?

发布于 2022-09-07 12:18:14 字数 55 浏览 20 评论 0

ngFor循环出来的li列表,如何实现点击一个li,让它单独底色变化,而其它的li却不受影响呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

春庭雪 2022-09-14 12:18:14
<li *ngFor="let item of arr | async; let i = index;" 
    [class.change-color]="selectedindex === i" (click)="onClick(i)">
</li>

维护一个变量selectedIndex, 在点击li的事件处理函数onClick中设置selectedIndex,
这样change-color的样式就会动态的添加或移除了.

倾城月光淡如水﹏ 2022-09-14 12:18:14

每一项加一个 boolean 标示字段,点击时单独修改此字段,结合 ngClass 切换样式类。

酷遇一生 2022-09-14 12:18:14

这个可以用JS结合css中的选择器class来实现,首先给其中一个起个class名把自己喜欢的颜色写上去,然后在JS中循环每个li,先给每个li让它们的类型等于“” 例如: className = "" 在循环体外把当前点击的的那个li通过this来将其类型变为css中你起的class类名

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文