【问题标题】:How to set active class on clicked button only using Angular6?如何仅使用Angular6在单击的按钮上设置活动类?
【发布时间】:2019-02-15 11:12:26
【问题描述】:

我连续有 3 个按钮。我只想在单击的按钮上设置活动类,但问题是当我在一个按钮之后单击另一个按钮时,它会在所有按钮上设置活动类。

设置活动类无法正常工作。单击时,所有按钮都会获得活动类。如果我单击 2 个按钮,则单击时会在两个按钮上设置活动类。

这是我在 stackblitz 的代码

StackBlitz Code

我想一次只在单击的按钮上设置活动类,而不是在所有按钮上。

【问题讨论】:

    标签: javascript typescript angular6


    【解决方案1】:

    我认为你可以通过 angular dom 功能更轻松地做到这一点。

    你可以在这里显示:

    https://stackblitz.com/edit/angular-s8suc8?file=src/app/app.component.ts

    这是我认为你想要的样本,但我认为你可以做得更好:

    https://stackblitz.com/edit/angular-vmzijo?file=src/app/app.module.ts

    【讨论】:

      【解决方案2】:

      据我所知,您需要切换活动和非活动状态:

      这是新的plunker,看看它是否解决了问题:

      https://stackblitz.com/edit/angular-fzxhkv?file=src/app/app.component.ts

      我删除了负责在每个按钮上应用phase-activeevent.srcElement.classList.add('phase-active')

      【讨论】:

      • 它仍然无法正常工作。请仔细查看您的结果。如果您单击“P-I”按钮,则按钮变为红色,但是当您在单击“P-I”后单击“P-II”按钮时,两个按钮都将获得活动类。
      • 现在我明白你的意思了......我已经更新了 stackblitz;解决问题
      猜你喜欢
      • 2019-03-16
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多