【发布时间】:2021-10-04 01:18:25
【问题描述】:
我想在单击任何给定类的 div 时调用一个方法。在 JQuery 中,这是一个微不足道的单行。我们在 Angular 中有类似的东西吗?
我知道我们可以使用(点击)绑定在点击时调用方法。但这需要为 div 的每个实例单独绑定。我想要一种通用的方法来绑定给定类的每个 div - 就像我们过去对 JQuery 选择器所做的那样
【问题讨论】:
标签: javascript jquery angular web
我想在单击任何给定类的 div 时调用一个方法。在 JQuery 中,这是一个微不足道的单行。我们在 Angular 中有类似的东西吗?
我知道我们可以使用(点击)绑定在点击时调用方法。但这需要为 div 的每个实例单独绑定。我想要一种通用的方法来绑定给定类的每个 div - 就像我们过去对 JQuery 选择器所做的那样
【问题讨论】:
标签: javascript jquery angular web
在 Angular 中,您可以创建自定义指令,将其分配给所需的块并通过 @HostListener 创建点击侦听器。
例如:
HTML
<div appMyDirective>
div 1
</div>
<div appMyDirective>
div 2
</div>
指令
@Directive({
selector: '[appMyDirective]'
})
export class MyDirectiveDirective {
constructor() { }
@HostListener('click') onClick() {
console.log('Привет')
}
}
可能适合你
【讨论】:
selector:'.myclass',参见文档:angular.io/api/core/Directive#selector
【讨论】:
您能否详细说明您要实现的目标,将指定在角度中使用 click 和 ngClass 的基本知识,看看是否有帮助
在你的 HTML 文件中
<div class="my_class" (click)="clickDiv()"
[ngClass]="isActive ? 'active' : 'notActive'">
Some content
</div>
在 .ts 文件中
isActive : boolean = false ;
clickDiv(){
this.isActive = !this.isActive;
}
【讨论】: