У меня есть несколько кнопок в приложении Ionic 3, которые я бы хотел динамически устанавливать как контурные или четкие. Я могу связать clear
сам по себе, и это работает (случай 1 ниже). И я могу связать outline
сам (случай 2 ниже). Но когда я пытаюсь связать clear
и outline
, кажется, что значение outline
игнорируется. Я показал желаемый результат в самом последнем ряду.
У меня есть это как часть класса для моей страницы:
buttons = [
{clear: true, outline: false, name: 'Clear'},
{clear: false, outline: true, name: 'Outline'},
{clear: false, outline: false, name: 'Default'},
];
А мой HTML-код:
<ion-content padding>
<ion-row>
<ion-col col-6>
<ion-label>
1. Binding clear attribute:
</ion-label>
</ion-col>
<ion-col col-2 *ngFor="let button of buttons">
<button ion-button
[clear]="button.clear">
{{button.name}}
</button>
</ion-col>
</ion-row>
<ion-row>
<ion-col col-6>
<ion-label>
2. Binding outline attribute:
</ion-label>
</ion-col>
<ion-col col-2 *ngFor="let button of buttons">
<button ion-button
[outline]="button.outline">
{{button.name}}
</button>
</ion-col>
</ion-row>
<ion-row>
<ion-col col-6>
<ion-label>
3. Binding clear and outline attributes:
</ion-label>
</ion-col>
<ion-col col-2 *ngFor="let button of buttons">
<button ion-button
[outline]="button.outline"
[clear]="button.clear">
{{button.name}}
</button>
</ion-col>
</ion-row>
<ion-row>
<ion-col col-6>
<ion-label>
4. Desired output:
</ion-label>
</ion-col>
<ion-col col-2>
<button ion-button clear>Clear</button>
</ion-col>
<ion-col col-2>
<button ion-button outline>Outline</button>
</ion-col>
<ion-col col-2>
<button ion-button>Default</button>
</ion-col>
</ion-row>
</ion-content>
Вот рендеринг страницы:
И Плункер с полным кодом:
https://embed.plnkr.co/eFBFc9/
Есть ли причина, по которой я не смогу связываться с clear
и outline
?
Я понимаю, что мог бы использовать ngIf
, чтобы в конечном итоге достичь того же результата:
<button ion-button *ngIf="button.clear" clear>{{button.name}}</button>
<button ion-button *ngIf="button.outline" outline>{{button.name}}</button>
<button ion-button *ngIf="!button.clear && !button.outline">{{button.name}}</button>
Но кажется, что было бы более кратким иметь одну кнопку с несколькими связанными атрибутами. Как мне этого добиться?
Я также попробовал attr.clear
и attr.outline
вместо clear
и outline
, но мне тоже не повезло.