无法正确使用ngMouseEnter(和类似的命令)。
无法正确使用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"按预期工作。
感谢任何帮助。
问题出现的原因是在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中的方法名周围加上括号了。