【发布时间】:2018-10-21 19:08:31
【问题描述】:
我正在使用 Angular 5 构建应用程序。我被困在需要将属性绑定到变量(元素名称)的位置。下面提供的代码正在运行,但我确信这不是正确的方法,还有另一种方法。
案例:父容器内部有箭头填充(.arrow-fill)和箭头边框(.arrow-border)。单击容器时,我需要根据某些条件隐藏/显示箭头。
现在,我已经使用“#”为父级命名,并将其传递给在 typescript 中创建的方法。并根据条件为元素(的名称)分配一个新属性。 下面是我所做的示例代码。有多个这样的选项卡,它们是硬编码的,不使用 ngFor 生成它们。
<li #liTab2 (click)="checkAndDisplay(liTab1)"><div class="arr arrow-border" *ngIf="liTab.showBorder"></div><div class="arr arrow-fill" *ngIf="!liTab.showBorder"></div></li>
<li #liTab2 (click)="checkAndDisplay(liTab2)"><div class="arr arrow-border" *ngIf="liTab2.showBorder"></div><div class="arr arrow-fill" *ngIf="!liTab2.showBorder"></div></li>
现在在打字稿中,函数是:checkAndDisplay(elem) {
elem.nativeElement.showBorder = !elem.nativeElement.showBorder;
/*some other functions are also taking place here */
}
有没有其他方法,正确的方法,在这里做到这一点。
【问题讨论】:
标签: angular data-binding binding angular5