我正在尝试在Angular项目的视图中显示一个数组
Items.json
{
"tipo": "texto",
"texto": "Un colegio necesita enviar 5 estudiantes como representantes a un foro sobre la contaminación del medio ambiente. Se decidió que 2 estudiantes sean de grado décimo y 3 de grado undécimo. En décimo hay 5 estudiantes preparados para el foro y en undécimo hay 4. ¿Cuántos grupos diferentes pueden formarse para enviar al foro?",
"respuestas": [
"9",
"14",
"20",
"40"
]
}
TS:
let timeoutMS = 10000;
this.http.get(assets / Items.json)
.timeout(timeoutMS)
.map(res => res.json()).subscribe(data => {
let responseData = data;
this.preguntas = responseData;
console.log(this.preguntas);
},
err => {
console.log(err);
});
console.log() displays the JSON correctly respuestas是一个数组,所以没关系
In the view
我得到preguntas.texto = "Un colegio necesita enviar 5 estudiantes..."
和preguntas.respuestas = 9,14,20,40
。
如果我尝试获取preguntas.respuestas [0]我有这个错误“TypeError:无法读取未定义TypeError的属性'0':无法在Object.eval [作为updateRenderer]读取未定义的属性'0'... “
我做错了什么?
感谢阅读! :d
编辑:
import { Facebook, FacebookLoginResponse } from '@ionic-native/facebook';
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { LoginPage } from '../login/login';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/timeout';
@Component({
selector: 'page-pregunta',
templateUrl: 'pregunta.html'
})
export class PreguntaPage {
userData = null;
preguntas = {};
constructor(private facebook:Facebook , public http: Http) {
}
ionViewDidLoad() {
let path = 'assets/Items.json';
let encodedPath = encodeURI(path);
let timeoutMS = 10000;
this.http.get(encodedPath)
.timeout(timeoutMS)
.map(res => res.json()).subscribe(data => {
let responseData = data;
this.preguntas = responseData;
console.log(this.preguntas);
},
err => {
console.log('error!!', err);
});
}}
答案 0 :(得分:0)
你应该尝试这样的事情:
let respuestas = []
...
responseData.respuestas.map(item => respuestas.push(item)).
然后尝试这样的事情:
console.log(respuestas[0])