您好,我开始使用angular 2进行操作,但是遇到了问题,在玩了一点之后,我发现我什至无法警告阵列的长度。我遗漏了一些明显的东西,但是它可以在边缘工作(总是打印出值),但是不能在chrome上工作,我收到此错误[无法设置[object Object]仅具有吸气剂的属性堆栈]
这是我的代码段:
export class GridComponent implements OnInit{
coils : ICoil[];
constructor(private _loadCoil : LoadCoil){
}
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe(coils => this.coils = coils );
alert(this.coils.length);
}}
因此,正如我所告诉的那样,当我在边缘测试时,它总是会警告长度值,但是不会在chrome中警告。
感谢帮助
最佳答案
您的代码可能给出了错误,这就是为什么看不到未定义长度的原因。因为您没有初始化数组。
可以像这样初始化它:coils : ICoil[] = [];
要么
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe(coils => this.coils = coils );
alert(this.coils.length);
}}
应该
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe((coils) => {
this.coils = coils;
alert(this.coils.length);
});
}}
getAllCoils
是一个异步函数。这意味着其回调(订阅)将需要一些时间来执行。因此,直到那时,您的
this.coils
都是不确定的。