Javascript &引用;“未定义”;属性,当尝试读取对象';s属性在订阅之外的角度
我在angular方面是新手,正在从事spring+angular项目,我有两门课叫问答 问题1.tsJavascript &引用;“未定义”;属性,当尝试读取对象';s属性在订阅之外的角度,javascript,angular,typescript,Javascript,Angular,Typescript,我在angular方面是新手,正在从事spring+angular项目,我有两门课叫问答 问题1.ts export class Questions { private questionDescription: string; private id: string; private answers: Answers[] = []; //吸气剂二传手 答案 export class Answers { private answerDescription: st
export class Questions {
private questionDescription: string;
private id: string;
private answers: Answers[] = [];
//吸气剂二传手
答案
export class Answers {
private answerDescription: string;
private isVisible: boolean;
private id: string;
private voteCounter: number;
//吸气剂二传手
在我的component.ts中,我从webservice获取数据。这是我的服务
base_url: string = "http://localhost:8080";
constructor(private http: HttpClient) { }
getQuestion(id: string): Observable<HttpResponse<Questions>> {
return this.http.get<Questions>(this.base_url + "/question" + "/" + id, { observe: 'response' });
}
恩戈尼尼特(){
}
在“this.answers=this.question.\u answers”行之后,我在我的component.html中与[ngModel]一起使用“answers”数组,它可以工作,但我无法读取subscribe方法之外的answer数组的属性值,我有一个按钮,这个按钮在单击时调用“results()”函数。我需要在读取对象属性后执行一些计算,但我无法读取。下面的代码在控制台中打印“未定义”
results() {
console.log(this.answers[0]._answerDescription); // prints undefined
}
当我像这样改变方法时
results() {
console.log(this.answers); // prints the array in console
}
我怎样才能做到这一点 在你的课堂上展示答案的格式,有答案描述,但你想得到答案描述。这可能是问题所在,但如果你能展示你的数组,那会很有帮助。@Natixco是私有属性,这就是我调用_answerDescription方法的原因。@Mamta这是“console.log(this.answers)”之后的结果<代码>0:{id:“523046f9-5eb3-4b52-9529-f74fe7d339d8”,应答描述:“1”,语音计数器:1,可见:假}1:{id:“5fdd6645-3bba-46dc-88d6-3e7d994c51a1”,应答描述:“242”,语音计数器:1,可见:假}2:{id:“1e78716d-82c7-4ed1-88ec-210f3e959cb1”,应答描述:“22”,语音计数器:2,可见:假}那么您是否尝试不使用下划线?因为我在JSON里看不到一个。。。
results() {
console.log(this.answers[0]._answerDescription); // prints undefined
}
results() {
console.log(this.answers); // prints the array in console
}