Reputation: 119
Below is angular2 simple front end page::
<table class="table">
<tr>
<th>title</th>
<th>description</th>
</tr>
<tr *ngFor="let notes of Note">
<td>{{notes.title}}</td>
<td>{{notes.body}}</td>
</tr>
</table>
Below is component code:: in which Note is having
export class Note {
noteId: number ;
title: String ;
body: String ;
color: String ;
isArchive: boolean ;
isPinned: boolean ;
isTrash: boolean ;
}
notes:Note[]=[];
ngOnInit() {
this.getAllNotes();
}
//get all anotes
getAllNotes(){
this.noteService.getNotes()
.subscribe(
// notes => { //tried not working
// this.notes = notes;
// console.log(notes) },
data => {
console.log("notes get");
console.log(data._body);
this.notes=data._body;
console.log("notes array");
console.log(this.notes);
},
error => {
console.log("notes error");
console.log(error);
});
}
in above this.notes output is ::
[
{
"noteId": 5,
"title": "hi ",
"body": "ragini",
"color": null,
"createDate": 1515820245951,
"lastUpdated": 1515820245951,
"reminder": null,
"image": null,
"collaborator": [],
"labels": [],
"user": 1,
"archive": false,
"pinned": false,
"trash": false
},
{
"noteId": 8,
"title": "s",
"body": null,
"color": null,
"createDate": 1515820746348,
"lastUpdated": 1515820746348,
"reminder": null,
"image": null,
"collaborator": [],
"labels": [],
"user": 1,
"archive": false,
"pinned": false,
"trash": false
}
]
now how to display this data in angular2 front end.
Upvotes: 0
Views: 7116
Reputation: 119
Html code::
<tr *ngFor="let notes of notes; let i = index">
<td>{{notes.title}}</td>
<td>{{notes.body}}</td>
</tr>
i just did this.notes=JSON.parse(data._body); and worked remaining code is as above.
data => {
console.log(data._body);
this.notes=JSON.parse(data._body); // parsing here
console.log("notes array"+this.title);
console.log("Title :: "+this.notes.title);
},
Upvotes: 1
Reputation: 222722
You need to use notes
instead of Note
<tr *ngFor="let note of notes">
<td>{{note?.title}}</td>
<td>{{note?.body}}</td>
</tr>
Upvotes: 2