我有两个片段。当选择"手动"段时,";"不是"自动";不是显示而是显示为"是自动"虽然{{is_auto}}的值为false
<ion-segment mode="md" [(ngModel)]="is_auto">
<ion-segment-button mode="md" [value]="true">
<ion-label>Auto</ion-label>
</ion-segment-button>
<ion-segment-button mode="md" [value]="false">
<ion-label>Manual</ion-label>
</ion-segment-button>
</ion-segment>
{{is_auto}}
<div *ngIf="is_auto === false">
is not auto
</div>
<div *ngIf="is_auto">
is auto
</div>
选择Auto段时,输出为
真正是汽车
选择"手动"段时,输出为
错误是汽车
我导入了Browser Module和Common Module.
该变量被强制转换为布尔值,但离子段一直在消失将其转换为字符串。离子3很好,但不适合离子4
将变量转换为字符串,因为离子4离子段似乎将所有值处理为字符串
is_auto
接收到的值类型是字符串,不是布尔值。所以将它与string比较:
<div *ngIf="is_auto === 'false'">
is not auto
</div>
<div *ngIf="is_auto === 'true'">
is auto
</div>
<div *ngIf="is_auto;else elsepart">
this is true part
</div>
<ng-template #elsepart>
---- this is false part
</ng-template>
因为ion-segment
将字符串化您的值,您必须以某种方式处理它。您可以解析is_auto
,但我认为更好的解决方案是使用联合类型变量,像这样:
打印稿:
mode: "auto" | "manual";
HTML:
<ion-segment mode="md" [(ngModel)]="mode">
<ion-segment-button mode="md" value="auto">
<ion-label>Auto</ion-label>
</ion-segment-button>
<ion-segment-button mode="md" value="manual">
<ion-label>Manual</ion-label>
</ion-segment-button>
</ion-segment>
<div *ngIf="mode === 'auto'">
is auto
</div>
<div *ngIf="mode === 'manual'">
is not auto
</div>
下面的代码
html code
<ion-segment mode="md" [(ngModel)]="is_auto">
<ion-segment-button mode="md" [value]="true">
<ion-label>Auto</ion-label>
</ion-segment-button>
<ion-segment-button mode="md" [value]="false">
<ion-label>Manual</ion-label>
</ion-segment-button>
</ion-segment>
{{is_auto}}
<div *ngIf="is_auto === 'false'">
is not auto
</div>
<div *ngIf="is_auto === 'true'">
is auto
</div>
ts code
公共is_auto;
使用引号"代替单引号。
也可以使用!is_auto
<div *ngIf="!is_auto">
is not auto
</div>
<div *ngIf="is_auto">
is auto
</div>
Stackbitz例子
不要使用布尔值
<ion-segment mode="md" [(ngModel)]="is_auto">
<ion-segment-button mode="md" value="first">
<ion-label>Auto</ion-label>
</ion-segment-button>
<ion-segment-button mode="md" value="last">
<ion-label>Manual</ion-label>
</ion-segment-button>
</ion-segment>
{{is_auto}}
<div *ngIf="is_auto == 'first'">
is not auto
</div>
<div *ngIf="is_auto == 'last'">
is auto
</div>