Non riesco a capire come associare i campi al componente in modo che i campi si aggiornino quando cambio le proprietà in OnDataUpdate().L'associazione dati non si aggiorna quando la proprietà cambia in Angular2
Il campo "OtherValue" ha un legame di lavoro bidirezionale per il campo di input e il campo per "Nome" visualizza "test" quando viene visualizzato il componente. Ma quando aggiorno i dati, nessuno dei campi viene aggiornato per visualizzare i dati aggiornati.
Il primo valore registrato di "this.name" non è definito (???), il secondo è corretto, ma il campo associato alla stessa proprietà non viene aggiornato.
Come può il componente fornire il valore iniziale per il campo nome, ma quando viene eseguito l'aggiornamento dei dati, la proprietà nome viene improvvisamente indefinita?
stuff.component.ts
@Component({
moduleId: __moduleName,
selector: 'stuff',
templateUrl: 'stuff.component.html'
})
export class BuildingInfoComponent {
Name: string = "test";
OtherValue: string;
constructor(private dataservice: DataSeriesService) {
dataservice.subscribe(this.OnDataUpdate);
}
OnDataUpdate(data: any) {
console.log(this.Name);
this.Name = data.name;
this.OtherValue = data.otherValue;
console.log(this.Name);
}
stuff.component.html
<table>
<tr>
<th>Name</th>
<td>{{Name}}</td>
</tr>
<tr>
<th>Other</th>
<td>{{OtherValue}}</td>
</tr>
</table>
<input [(ngModel)]="OtherValue" />
E se non si tratta di una chiamata di funzione ed è un valore assegnato ?? @pierreduc –
Quindi dovresti inserire questo compito in una funzione di freccia anonima – PierreDuc