javascript - 使用 NgIf 在选项卡之间切换
问题描述
我必须构建一个带有两个选项卡的组件,并使用简单的ngif在选项卡之间切换。我第一次这样做:</p>
...
export class ButtonComponent {
firstTab = true;
secondTab = false;
onFirstTab() {
this.firstTab = false;
this.secondTab = true;
}
onSecondTab() {
this.firstTab = true;
this.secondTab = false;
}
在 HTML 中
<ion-segment value="active">
<ion-segment-button value="active" (click)="onFirstTab()">
<ion-label>Component</ion-label>
</ion-segment-button>
<ion-segment-button (click)="onSecondTab()">
<ion-label>Attribute & Code</ion-label>
</ion-segment-button>
</ion-segment>
<div *ngIf=“firstTab” class="animated">
Content 1
</div>
<div *ngIf=“secondTab” class="animated">
Content
</div>
它工作得很好,但我担心我发现它是一个重复的代码。我尝试了一种使用 JUST ONE 变量在选项卡之间切换的方法。因为只有两个选项卡。
问题是:有没有办法在 Angular 中构建一个更简单/更清洁的切换,以在具有 ONE 变量(ON/OFF)的选项卡之间切换?
解决方案
您可以这样做,只需调用一个属性activeTab
和一种setActiveTab()
设置活动选项卡值的方法:
export class ButtonComponent {
activeTab = 0;
setActiveTab(tabIndex: number) {
this.activeTab = tabIndex;
}
在模板中:
<ion-segment value="active">
<ion-segment-button value="active" (click)="setActiveTab(1)">
<ion-label>Component</ion-label>
</ion-segment-button>
<ion-segment-button (click)="setActiveTab(2)">
<ion-label>Attribute & Code</ion-label>
</ion-segment-button>
</ion-segment>
<div *ngIf=“activeTab === 0” class="animated">Content 1</div>
<div *ngIf=“activeTab === 1” class="animated">Content</div>
这样,当您不断添加选项卡时,您无需修改您的类,复制方法。
推荐阅读
- javascript - 用于数字套件的 JAVASCRIPT REGEX
- python - 查找峰(缺口和舒张峰)
- reactjs - 如何转换 HOC 以响应自定义钩子
- java - 我怎样才能使创建真值表的代码更简单?
- javascript - Vue Js v-btn-toggle 类使用 Mandatory Prop 选择特定索引
- javascript - 为什么当我将 gas 增加到大于 10 时我的合约购买失败?
- java - 测试适用于 Java 的 Azure 权限 SDK 时出现 NoClassDefFoundError
- python - TypeError:预期的字符串或类似字节的对象我收到此错误
- python - 将实时视频帧从用户/客户端(Android 应用程序、iPhone 应用程序、python)流式传输到 Flask API(服务器),然后返回到客户端
- android-studio - 如何在 Android Studio 中增加数据库检查器查询部分的字体大小