从共享服务返回数组的组件
export class QuestionsComponent implements OnInit {
_questions: any;
constructor(private apiService: ApiService) {
this._questions = this.apiService._dataArray
}
}
在html组件中使用
{{ this._questions | json}}输出的
[
[
{
"foo": "bar",
... so on
}
]
]
但是当使用控制台输出数组时,两个都返回undefined
ngOnInit(): void {
console.log(this._questions[0])
console.log(this._questions)
}
由另一个组件的事件触发时收集数组
其他组件:
<input type="checkbox" [(ngModel)]="option.checked" (ngModelChange)="UpdateData()"/>
UpdateData(){
this.apiService.getFilters(this._filters);
}
API服务
_dataArray: any[] = [];
getFilters(object){
this._dataArray.length = 0;
this._dataArray.push(object);
}
答案 0 :(得分:0)
这是因为构造函数中的代码在ngOnInit
之前执行。请尝试以下操作:
ngOnInit(): void {
this._questions = this.apiService._dataArray
console.log(this._questions[0])
console.log(this._questions)
}