j'ai besoin des éclaircissements sur la liaison entre les services et les propriétés des composants et liaison de données dans angular2données angular2 de liaison entre le service et les propriétés des composants
suppose avoir un service i (singleton) et un composant
export class Service {
name = "Luke";
object = {id:1};
getName(){return this.name};
getObject(){return this.object};
}
export class Component implements OnInit{
name:string;
object:any;
constructor(private _service:Service){}
ngOnInit():any{
//Is this 2 way binding?
this.name = this._service.name;
this.object = this._service.object;
//Is this copying?
this.name = this._service.getName();
this.object = this._service.getObject();
}
}
Je vois, parce que dans le premier cas, ive a créé deux références pointant vers le même objet, alors que ci-dessous je voudrais net "copier" la propriété à nouveau? –
mais attendez, cela signifie-t-il que si j'ai un type de données de référence dans un service singleton, et créer de nouvelles références pointant vers lui dans divers composants, la vue se mettra automatiquement à jour chaque fois que je le change ?? –
@HanChe, oui, les vues seront toutes mises à jour automatiquement, car toutes vos liaisons de modèles sont liées au même objet.Tous vos composants ont leurs propres références, mais ils pointent tous vers le même service Singleton, puis toutes les liaisons de modèles ont leurs propres références, mais elles pointent toutes vers le même objet dans Singleton. Donc tout fonctionne. –