Bonjour j'ai un modèle comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
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".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
Mais:
me donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 console.log(this.matiereAediter+" =fin ");
ici matiereAediter est vide ? comment on précède pour réinjecter le nom modifier ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Electronique88 sommaire-edit.component.js:24:9 2 sommaire-edit.component.js:25:9 [object Object] =fin
merci de vos réponse
Partager