afe*_*eef 2 if-statement angular angular8
我需要的
if(field.ajax && field.ajax='Y' && field.multiple&& field.multiple=='Y')
{
}
else if (field.ajax && field.ajax='Y' && field.multiple&& field.multiple=='N'))
{
}
else
{
}
Run Code Online (Sandbox Code Playgroud)
2 条件作品
if(cond)
{
code
}else
{
code
}
Run Code Online (Sandbox Code Playgroud)
这个案例代码有效
<ng-container *ngIf="field.ajax && field.ajax === 'Y'; else select2ElseBlock">
<ng-select
[items]="data"
multiple="true"
bindLabel="name"
[closeOnSelect]="true"
[loading]="loading"
[searchable]="true"
[clearable]="true"
(click)="clearModel()"
(keyup)="changed($event.target.value)">
</ng-select>
</ng-container>
<ng-template #select2ElseBlock>
<ng-select
[items]="field.choices.choice"
multiple="true"
bindLabel="name"
[loading]="loading"
>
</ng-select>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
我尝试过多个案例
但这种情况会产生问题
<ng-container *ngIf="field.ajax && field.ajax === 'Y' then select2thenBlock else select2ElseBlock">
<ng-select
[items]="data"
multiple="true"
bindLabel="name"
[closeOnSelect]="true"
[loading]="loading"
[searchable]="true"
[clearable]="true"
(click)="clearModel()"
(keyup)="changed($event.target.value)">
</ng-select>
</ng-container>
<ng-template #select2thenBlock>
<ng-select
[items]="field.choices.choice"
multiple="true"
bindLabel="name"
[loading]="loading"
>
</ng-select>
</ng-template>
<ng-template #select2ElseBlock>
<ng-select
[items]="field.choices.choice"
multiple="true"
bindLabel="name"
[loading]="loading"
>
</ng-select>
</ng-template>
Run Code Online (Sandbox Code Playgroud)
但对于多种情况会产生问题。
参考资料
您只需逻辑地嵌套条件即可:
<ng-container *ngIf="field?.ajax === 'Y'; else ajaxNotY">
<ng-container *ngIf="field?.multiple === 'Y'; else multipleNotY">
AJAX AND MULTIPLE Y
</ng-container>
<ng-template #multipleNotY>MULTIPLE NOT Y</ng-template>
</ng-container>
<ng-template #ajaxNotY>AJAX NOT Y</ng-template>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10004 次 |
| 最近记录: |