【问题标题】:How to get boolean value, If element id clicked - Angular如何获取布尔值,如果单击元素 id - Angular
【发布时间】:2019-04-22 14:24:38
【问题描述】:

我正在尝试获取布尔值,如果元素 id 已在角度中单击。我试图通过 document.getElementById 获取布尔值以查找是否单击了元素,但这没有按预期工作。

这就是我的示例 html 代码:

<button id="my-btn-id" class="bx--number__control-btn up-icon">

如果我的按钮 id 将被点击,我需要获取 true 或者需要返回 false。这里通过点击事件我可以得到它,但是我需要通过id来识别。如果有人有任何想法,请帮助我。

【问题讨论】:

  • 如果它是有角度的,那就去有角度的方式......但在大多数情况下,这种情况下你不需要 id 。如果您可以对您的问题进行更多解释,那么提出任何答案都会变得更容易。
  • 不停止表单提交会解决问题吗?您可以在帖子中添加表单提交代码吗?
  • @Jai 是的,我明白了...通过事件侦听器我可以获取元素 ID 并解决问题..谢谢

标签: javascript angular


【解决方案1】:

只需在你的类中添加一个变量,比如:public myBtnIdClicked: boolean = false

<button id="my-btn-id" (click)="myBtnIdClicked = true" class="bx--number__control-btn up-icon">

在您的按钮上添加一个点击监听器,一旦在按钮上发生点击,就将变量 myBtnIdClicked 设置为 true。

【讨论】:

  • 抱歉哈哈,因为我发布的答案在 48 秒前看到了你的答案。虽然喜欢这种想法
  • @dince12 哈哈,是的,它发生了 :)
  • @SpRaju 我没有完全理解你的评论。请根据所有要求更新您的问题。还意味着当您按 Enter 时该按钮不用作提交按钮吗?如果是,则为按钮指定类型,例如:&lt;button type="button" .....rest of the attributes&gt;
  • @xyz 是的,我明白了...通过事件侦听器,我可以获得元素 ID 并解决问题..谢谢
【解决方案2】:

这可能不是您想要的,但为什么不保持简单。我喜欢简单。

控制器

public clickedBtn1: boolean = false; // keep a number which is the same as button id.

那么你可以随时简单地检查。

if (this.clickedBtn1)
{
     //do something 
     // will only be reached if button has been clicked
} 

模板

<button id="1" class="bx--number__control-btn up-icon" (click)="clickedBtn1 = true">

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2021-03-28
    相关资源
    最近更新 更多