Javascript 角度2无法打印数组长度
您好,我开始使用angular 2,但我遇到了一个问题,在玩了一点之后,我发现我甚至不能提醒数组的长度。我遗漏了一些明显的东西,但它在edge中工作它总是打印出值,但在chrome上没有,我得到了这个错误[无法设置[object object]的属性堆栈,它只有一个getter] 以下是我的代码片段:Javascript 角度2无法打印数组长度,javascript,arrays,angular,Javascript,Arrays,Angular,您好,我开始使用angular 2,但我遇到了一个问题,在玩了一点之后,我发现我甚至不能提醒数组的长度。我遗漏了一些明显的东西,但它在edge中工作它总是打印出值,但在chrome上没有,我得到了这个错误[无法设置[object object]的属性堆栈,它只有一个getter] 以下是我的代码片段: export class GridComponent implements OnInit{ coils : ICoil[]; constructor(private _loadCoil : Loa
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);
}}
正如我所说,当我在edge中测试它时,它总是会提醒长度值,但在chrome中它不会提醒。
感谢您的帮助订阅功能将在警报后工作。因为这是一个异步调用。因此,当this.\u loadCoil.getAllCoils返回数据时,它的内容将起作用
将警报放入订阅功能
订阅功能将在警报后工作。因为这是一个异步调用。因此,当this.\u loadCoil.getAllCoils返回数据时,它的内容将起作用
将警报放入订阅功能
您的代码可能给出了一个错误,这就是您无法看到未定义的长度的原因。因为您没有初始化数组 或者像这样初始化它:coils:ICoil[]=[] 或 应该是
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe((coils) => {
this.coils = coils;
alert(this.coils.length);
});
}}
getAllCoils是一个异步函数
这意味着它的回调subscribe需要一些时间才能执行。因此,在此之前,this.coils将是未定义的。您的代码可能给出了一个错误,这就是为什么您无法看到未定义的长度。因为您没有初始化数组 或者像这样初始化它:coils:ICoil[]=[] 或 应该是
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe((coils) => {
this.coils = coils;
alert(this.coils.length);
});
}}
getAllCoils是一个异步函数
这意味着它的回调subscribe需要一些时间才能执行。因此,在此之前您的this.coils将是未定义的。getAllCoils是异步的,因此将警报调用放在subscribe回调中
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe(coils => {
this.coils = coils;
alert(this.coils.length);
});
}}
getAllCoils是异步的,因此将警报调用放在subscribe回调中
ngOnInit() : void{
this._loadCoil.getAllCoils().subscribe(coils => {
this.coils = coils;
alert(this.coils.length);
});
}}
向我们展示你的ICoil界面?向我们展示你的ICoil界面?我想,但为什么它会在edge中而不是在chrome上提醒值?它会在edge中提醒什么?我想,但为什么它会在edge中而不是在chrome上提醒值?它会在edge中提醒什么?它仍然应该像在edge中一样提醒数组的长度,我就是这么想的asking@Proxy您的代码可能给出了一个错误,这就是您无法看到未定义的长度的原因。因为你没有初始化你的数组。啊,像往常一样,我忘记了最明显的事情。。。Thanks@Proxy很高兴你找到了答案:-它仍然应该提醒数组的长度,就像它在边缘上做的一样,这就是我正在做的asking@Proxy您的代码可能给出了一个错误,这就是您无法看到未定义的长度的原因。因为你没有初始化你的数组。啊,像往常一样,我忘记了最明显的事情。。。Thanks@Proxy很高兴你找到了答案:-