我有一个名为fieldlist的数组,它来自角度2组件中的以下http.get请求。 我已经宣布这样了。
fieldlist: string[] = [];
然后我使用json resposne的迭代分配了它的值。
this.http.get(getform_endpoint,requestOptions).map((res:
Response) => res.json()).subscribe(
res => {
this.FormData = res.schema;
res.fields.forEach(element => {
this.fieldlist.push(element);
});
});
现在在另一个像这样的功能
create_hidden_qp() {
let elementsnamevalue = this.fieldlist.join();
console.log("hello", this.fieldlist.join());
}
当我使用这些行将它转换为字符串时,它给我空白""回应
但是当我像这样打印时
console.log("hello", this.fieldlist);
我能够看到像这样的完美阵列。
hello[] 0 :"userroleid" 1: "ruletype" 2: "employeeid"
那么我错过了什么?
A)错误的声明? b)错误的分配? c)错误访问数组元素?
答案 0 :(得分:1)
您应该在请求完成后致电create_hidden_qp
:
this.http.get(getform_endpoint,requestOptions).map(r => r.json()).subscribe(res => {
this.FormData = res.schema;
res.fields.forEach(element => {
this.fieldlist.push(element);
});
this.create_hidden_qp();
});