As I do to instead of the array of all questions, I came up one question at a time in my form: Given my service:
import { Injectable } from '@angular/core';
import { Pergunta } from './perguntas/pergunta.model'
import { PerguntasComponent } from './perguntas/perguntas.component'
import { Http} from '@angular/http'
import { Observable } from 'rxjs/Observable'
import 'rxjs/add/operator/map'
import { MEAT_API} from '../app.api'
@Injectable()
export class PerguntasService{
constructor(private http:Http){}
perguntas(): Observable<Pergunta[]>{
return this.http.get('${MEAT_API}/perguntas')
.map( response => response.json())
}
//retorna uma pergunta só, por id
perguntasById(id:string):Observable<Pergunta>{
return this.http.get('${MEAT_API}/perguntas/${id}')
.map( response => response.json())
}
}
Here I return my array of questions all at once:
<section class="content">
<div class="row">
<div *ngFor="let pergunta of perguntas" class="col-sm-6 col-xs-12">
<app-pergunta [pergunta]="pergunta"></app-pergunta>
</div>
</div>
</section>
But I want it to come one at a time, then when I ask the question. id return me udefined
<a [routerLink]="['/perguntas',pergunta.id]">
{{pergunta.id}}
{{pergunta.titulo}}
</a>
import { Component, OnInit, Input } from '@angular/core';
import { Pergunta } from '../pergunta.model'
@Component({
selector: 'app-pergunta',
templateUrl: './pergunta.component.html',
styleUrls: ['./pergunta.component.css']
})
export class PerguntaComponent implements OnInit {
@Input() pergunta:Pergunta
constructor() { }
ngOnInit() {
}
}
"perguntas":[
{
"id":"1",
"titulo":"Qual o seu comportamento em relação aos seus investimentos?",
"opcoes": [
{
"description":"Preservar meu dinheiro sem correr risco",
},
{
"description": "Ganhar mais dinheiro, assumindo riscos moderados",
},
{
"description": "Ganhar mais dinheiro, assumindo riscos agressivo",
}
]
},
{
"id":"2",
"titulo": "Por quanto tempo você deseja manter os seus investimentos?",
"opcoes": [
{
"description":"até 1 ano",
},
{
"description": "até 1 a 3 anos",
},
{
"description": "de 1 a 3 anos",
}
]
},
{
"id":"3",
"titulo": "Quantos % desses investimentos você pode precisar em um ano?",
"opcoes": [
{
"description":"acima de 75%",
},
{
"description": "de 26% a 74%",
},
{
"description": "até 25%",
}
]
}
]
}