我使用click事件和一些简单的javascript来完成这项工作,但是我敢肯定有一种更好的方法。
我正在使用ngFor生成一些动态行和相应的动态按钮。
他们看起来像这样:
<div *ngFor="let section of data.order?.sections" id="{{section.class}}Detail" class="{{section.name | lowercase | removeAmpersand | removeSpaces }}">Random Text Here</div>
然后在页面上的其他地方,也使用ngFor生成了一系列锚标记:
<a (click)="showDetails($event)" id="{{section.name | lowercase | removeAmpersand | removeSpaces }}"><span class="icomoon icomoon-eye"></span> Detail/a>
我的问题是,显示和隐藏div的首选方式是什么?每个div都以css属性开始,display: none
而我希望只是进行切换。取而代之的是,我只是使用click事件来运行一个获取div ID的函数,然后我有了一些看起来像这样的纯JavaScript:
myDiv.style.display = myDiv.style.display === '' ? 'block' : '';
我应该怎么做才是首选方法?
您可以有条件地将CSS类添加到元素中。就像是
<div class="standardclass" [class.additionalclass]="showFlag"></div>
其中additionalclass
是另一个CSS类,仅在表达式showFlag
为true时才添加。它可以是任何js表达式,而不仅仅是标志。
您也可以*ngIf
用来有条件地从dom中完全添加或删除元素。
搜索“ Angular 2模板语法”
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句