привязки данных У меня есть простой компонент, как следующие:Angular2/Ionic2:
import {Page} from 'ionic-framework/ionic';
import {Component} from 'angular2/core';
import {Data} from './data';
@Page({
selector: "main-page",
templateUrl: 'build/pages/main/main.html'
})
export class MainPage
{
submitted: number;
model: Array<number>;
constructor(){
this.submitted = false;
}
model = new Data('50', ['10', '20']);
onSubmit()
{
this.model.households.push('3');
}
backToForm()
{
this.submitted = false;
}
}
со следующим шаблоном: MainPage
<ion-content padding class="getting-started" >
<h1>Random selection of houses generator</h1>
<div [hidden]='submitted'>
<form (ngSubmit)="onSubmit()" #dataForm="ngForm">
<ion-list>
<ion-item>
<ion-label floating>Number of houses in the village</ion-label>
<ion-input
type="number"
required
[(ngModel)]="model.totalhousehold"
ngControl = "totalhousehold"
></ion-input>
</ion-item>
</ion-list>
<button
secondary
[disabled]="!dataForm.form.valid"
>Generate random selection!</button>
</form>
</div>
<div [hidden]='!submitted'>
villages: {{ model.totalhousehold }}
Array: {{ model.households }}
<button (click)=backToForm()>
back to form
</button>
</div>
</ion-content>
это мой data.ts:
export class Data {
constructor(
public totalhousehold: number,
public households: Array<number>,
) { }
}
В каждом представлении я нажимаю значение в массиве «домохозяйства» и скрываю форму. Обратно в форму отобразится форма. Если я изменяю значение формы (totalhouseholds), мой массив (домашние хозяйства) отображается правильно. Но я снова представляю его без изменения значения; отображаемый массив не обновляется. Любая идея советы приветствуются
Спасибо за этот ответ. Я повторно объявил модель как объект, и теперь я нажимаю только номер в моем массиве this.model.households! Спасибо, что нашли время –
@Raphael_b Рад слышать, что это помогло .. Спасибо :), но делает это единственное, что вы пропустили? : p –
фактически; Я все еще не понимаю. Я нашел способ: вместо того, чтобы отображать мой массив {{model.домохозяйства}} Я делаю