У меня есть чистый компонент, принимающий объект param
в качестве входных данных и использующий его для визуализации формы в Ionic.
Форма выглядит пустой до щелчка. После щелчка он заполняется в соответствии с входными данными.
Вот пример:
@Component({
selector: "my-pure-component",
templateUrl: "template.html",
changeDetection: ChangeDetectionStrategy.OnPush
})
export class ObservationComponent {
@Input()
public param;
}
Шаблон:
<ion-item-group id="toggleParameters">
<ion-row align-items-center justify-content-center>
<ion-col col-auto>
<p ion-text color="neutral">{{param.notify ? 'yes' : 'no'}}</p> <!-- This works -->
</ion-col>
<ion-col no-lines>
<ion-item detail-none no-lines>
<ion-input [(ngModel)]="param.notify"></ion-input> <!-- This also works -->
</ion-item>
</ion-col>
<ion-col no-lines>
<ion-item detail-none no-lines>
<ion-toggle [(ngModel)]="param.notify"></ion-toggle> <!-- This doesn't -->
</ion-item>
</ion-col>
<ion-col>
<ion-datetime class="inputLike"
displayFormat="DD/MM/YYYY"
pickerFormat="DD MMM YYYY"
max="2100" min="2015"
cancelText="cancel"
doneText="ok"
[(ngModel)]="param.somedate"> <!-- Nor this -->
</ion-datetime>
</ion-col>
</ion-row>
</ion-item-group>
Родительский компонент:
<my-pure-component [param]="{ notify: true, somedate: '2018-01-01' }">
</my-pure-component>