Comment modifier un attribut ?
Bonjour j'ai un modèle comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
export class Sommaire{
id:number;
name:string;
static matieres:Sommaire[] = [
{ id:1, name: 'Informatique' },
{ id:2, name: 'Electronique' },
{ id:3, name: 'Infographie' },
];
} |
j'ai un formulaire sous angular2, et je souhaite éditer un sommaire,
voici la classe qui va modifier l'une des métières que j'aurais sélectionner:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
import {Component,Output,EventEmitter} from '@angular/core';
import {Sommaire} from './sommaire-data';
import {SommaireGestionService} from './sommaire-gestion';
@Component({
selector: 'edit-matiere',
templateUrl: './app/sommaire/sommaire-edit.template.html',
})
export class EditMatiereComponent {
public matiereAediter:Sommaire;//une seul matiere à editer ou afficher
@Output() onEdit = new EventEmitter();
@Output() onLst = new EventEmitter();
constructor(private sommaireService:SommaireGestionService){
this.matiereAediter = this.sommaireService.getMatierNow();
}
annuler(){
this.onLst.emit(null);
}
modifierMatiere(matiere:string){ //après avoir modifier son nom
console.log(matiere);
console.log(this.matiereAediter.id);
this.matiereAediter.name = matiere;
console.log(this.matiereAediter+" =fin ");
this.onEdit.emit(null);
}
} |
lorsque j'active un bouton qui appel la méthode modifierMatiere(matiere:string), j'ai cette chaine que je souhaite la modifier directement mon modèle "Sommaire".
Mais:
Code:
1 2
|
console.log(this.matiereAediter+" =fin "); |
me donne
Code:
1 2 3 4
|
Electronique88 sommaire-edit.component.js:24:9
2 sommaire-edit.component.js:25:9
[object Object] =fin |
ici matiereAediter est vide ? comment on précède pour réinjecter le nom modifier ?
merci de vos réponse