无法正确使用ngMouseEnter(和类似的命令)。

14 浏览
0 Comments

无法正确使用ngMouseEnter(和类似的命令)。

我在Angular 6上使用Bootstrap 4,我有一个删除按钮,当鼠标进入按钮时,应该改变其图标。然而,我尝试了几个ng函数(ngMouseOver,ngMouseUp等),但它们都没有起作用。

以下是代码:

component.html

component.ts

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

...

buttonHover()

{

console.log("鼠标进入工作。")

this.ButtonIcon = "fas fa-trash-alt"

}

当程序运行时,控制台日志不输出任何内容,因此方法buttonHover()未被激活。

此外,按钮图标"far fa-trash-alt"按预期工作。

感谢任何帮助。

0
0 Comments

问题出现的原因是在HTML中忘记在方法名周围加上括号。解决方法是在HTML中的方法名周围加上括号。

AngularJS提供了两种解决方法。一种是使用ngMouseEnter等类似命令,另一种是使用mouseover事件。具体使用哪种方法可以根据需求和文档来决定。

在使用AngularJS时,应该按照Angular的方式来进行操作。使用ngMouseEnter等类似命令来触发事件。例如:

<button type="delete" class="btn" (click)="delTr(tr)" (mouseenter)="buttonEnterHover()" (mouseleave)="buttonLeaveHover()"> YourBtn </button>

另一种解决方法是使用mouseover事件来触发事件。例如:

<button type="delete" class="btn" (click)="delTr(tr)" (mouseover)="buttonHover()"> YourBtn </button>

每种方法都有其优缺点,可以根据具体需求来选择。可以参考以下文档来帮助决定哪种方法最适合自己使用:

- [MDN MouseEnter文档](https://developer.mozilla.org/en-US/docs/Web/Events/mouseenter)

- [MDN MouseOver文档](https://developer.mozilla.org/en-US/docs/Web/Events/mouseover)

感谢您的帮助,我完全忘记在HTML中的方法名周围加上括号了。

0