【问题标题】:Cannot get ngMouseEnter (& similar commands) to work properly [duplicate]无法让 MouseEnter(和类似命令)正常工作 [重复]
【发布时间】:2018-11-12 01:47:06
【问题描述】:

我在 Angular 6 上使用 Bootstrap 4,并且我有一个删除按钮,当鼠标进入按钮时应该会更改其图标。但是,我尝试了其中的几个 ng 函数(ngMouseOver、ngMouseUp 等),但都没有奏效。

代码如下:

component.html

<button type="delete" class="btn" (click)="delTr(tr)" ng- 
mouseenter="buttonHover()"><i class="{{ButtonIcon}}"></i></button>

component.ts

ButtonIcon: String = "far fa-trash-alt";

...

buttonHover()
{
  console.log("Mouse Enter works.") 
  this.ButtonIcon = "fas fa-trash-alt"
} 

程序运行时控制台日志没有输出任何内容,所以方法buttonHover()没有被激活。

此外,“far fa-trash-alt”按钮图标也可以正常工作。 任何帮助将不胜感激。

【问题讨论】:

标签: html angular typescript bootstrap-4


【解决方案1】:

这就是 AngularJS 的方式——从你所说的来看,你使用的是 Angular(v6),所以你应该使用 Angular 的方式:

&lt;button type="delete" class="btn" (click)="delTr(tr)" (mouseenter)="buttonEnterHover()" (mouseleave)="buttonLeaveHover()"&gt; YourBtn &lt;/button&gt;

另一种选择是使用mouseover 事件:

&lt;button type="delete" class="btn" (click)="delTr(tr)" (mouseover)="buttonHover()"&gt; YourBtn &lt;/button&gt;

每种方法都有其优点和缺点,这里的文档可帮助您确定哪种方法最适合您。

【讨论】:

  • 感谢您的帮助,我在 HTML 中完全忘记了方法名称周围的括号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-05
  • 2015-04-21
  • 1970-01-01
  • 2012-09-10
  • 1970-01-01
  • 2011-08-24
  • 2012-11-09
相关资源
最近更新 更多