我在jQuery中有这样的代码:
$('#btn').click(function(){
if($('.element').hasClass('active')){
$('.element').removeClass('active');
}
else{
$('.element').addClass('active');
}
});
Angular2中此类代码的类比是什么。我想我必须把它放到相关组件中。有什么想法吗?
答案 0 :(得分:0)
根据expression
的值,删除并添加了真或假active
类。要了解详情,请转到documentation
<div [ngClass]="{active:expression}"></div
答案 1 :(得分:0)
使用@Input()
和`@HostBinding()
@Component({
selector: 'sub-ele',
template: `
<div>hasActiveClass: {{hasActive}}</div>
<button (click)="toggle()">toggle</button>
`
})
export class MyComponent {
// read all classes from the DOM
@Input('class') classes;
// reflect the hasActive state to the DOM
@HostBinding('class.active') hasActive = false;
toggle() {
this.hasActive = !this.hasActive;
}
// initialize the `hasActive` state
ngOnInit() {
this.hasActive = this.classes &&
this.classes.split(' ').indexOf('active') != -1;
}