我正在使用具有一个(或多个)ul元素的角度组件,而这个ul元素又有几个li元素。每个li元素由其自己的typescript组件/类表示。
li类有一个处理点击事件的功能,如
public liClick: Function = (() => {});
handleLiClick(event: Event) {
this.liClick(this, event);
}
我想覆盖这个处理程序,以便在点击它时另外更改li的css类。
传统的方法可能是编写另一个扩展基础类的li类。我想知道是否有一种更简单(可能更黑客)的方法,只需用另一个替换handleClick函数/方法而不更改li类?或者还有其他方法可以替换事件处理程序?
答案 0 :(得分:1)
您可以在此处使用属性绑定,( your.template.html )
<ul>
<li (click)="handleLiClick(event)" [class.myClass]="isTrue">one</li>
</ul>
(的 your.component.ts 强>)
// ...
@Component({
// ...
})
export class YourComponent {
isTrue = false;
handleLiClick(event: Event) {
this.liClick(this, event);
this.isTrue = true;
}
}