如何让我的 *ngFor 中的第一项默认处于活动状态?
How can I make the first item in my *ngFor active by default?
我在 Angular 2.
中有一个单选按钮组件
<div
class="states"
*ngFor="let state of states; let i = index"
[ngClass]="{'selected': showElement === state}"
(click)="trackCurrentState(state)">
<div class="radio">
<div class="outside">
<div
class="inside"
*ngIf="showElement === state">
</div>
</div>
</div>
<p2>{{state.name}}</p2>
</div>
*ngFor 循环遍历它们并将它们显示在另一个组件内。加载我的变量 'showElement' returns 未定义,直到用户单击其中一个单选按钮。所以在加载时我有一组单选按钮,但其中 none 被选中,直到用户单击一个。我希望默认选择单选按钮组中的第一个按钮(对象数组中的第一项)。我需要将 class 'inside' 应用于第一个单选按钮,直到用户单击另一个单选按钮。我怎样才能做到这一点?
如果我猜对了你需要什么,那就是:
this.showElement = this.states[0]
要将 "inside" class 赋予所选选项,您只需使用:
<div [class.inside]="showElement"> </div>
并预选一个选项:
this.showElement = this.states[0];
在您的构造函数中或在 ngOnInit、ngAfterViewInit 中 - 取决于您初始化 this.showElement 和 this.states
的位置
我在 Angular 2.
中有一个单选按钮组件<div
class="states"
*ngFor="let state of states; let i = index"
[ngClass]="{'selected': showElement === state}"
(click)="trackCurrentState(state)">
<div class="radio">
<div class="outside">
<div
class="inside"
*ngIf="showElement === state">
</div>
</div>
</div>
<p2>{{state.name}}</p2>
</div>
*ngFor 循环遍历它们并将它们显示在另一个组件内。加载我的变量 'showElement' returns 未定义,直到用户单击其中一个单选按钮。所以在加载时我有一组单选按钮,但其中 none 被选中,直到用户单击一个。我希望默认选择单选按钮组中的第一个按钮(对象数组中的第一项)。我需要将 class 'inside' 应用于第一个单选按钮,直到用户单击另一个单选按钮。我怎样才能做到这一点?
如果我猜对了你需要什么,那就是:
this.showElement = this.states[0]
要将 "inside" class 赋予所选选项,您只需使用:
<div [class.inside]="showElement"> </div>
并预选一个选项:
this.showElement = this.states[0];
在您的构造函数中或在 ngOnInit、ngAfterViewInit 中 - 取决于您初始化 this.showElement 和 this.states
的位置