使用Angular,我创建了一个带有sort指令的表,该指令根据单击的标题对表进行排序。我希望使用value
在使用*ngIf
生效排序时显示符号。正确记录变量,我只需要能够将<span *ngIf="key == 'Id' && toggleSort == 'true'">↓</span>
指向指令。
我的指示是:</ p>
*ngIf
如何将import { Directive, OnInit, Input, ElementRef, Renderer2 } from '@angular/core';
@Directive({
selector: '[appSort]'
})
export class SortDirective implements OnInit {
@Input() data: any[];
@Input('sortKey') key: any;
private toggleSort: boolean = false;
str1;
str2
constructor(private el: ElementRef, private renderer: Renderer2) {
}
ngOnInit() {
this.renderer.listen(this.el.nativeElement, 'click', (event) => {
let parentNode = this.el.nativeElement.parentNode;
let children = parentNode.children;
if (this.data && this.key) {
let sortedData: any = this.sortArray();
}
this.toggleSort = !this.toggleSort;
})
}
sortArray(): Array<any> {
console.log( this.key, this.toggleSort) //CORRECTLY LOGS ITEMS
.....
}
}
与指令一起使用,因为它默认指向组件?
修改:我还可以在满足条件时附加文本*ngIf
,但是当条件发生变化时我还没有办法重置视图。