Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2无法打印数组长度_Javascript_Arrays_Angular - Fatal编程技术网

Javascript 角度2无法打印数组长度

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

您好,我开始使用angular 2,但我遇到了一个问题,在玩了一点之后,我发现我甚至不能提醒数组的长度。我遗漏了一些明显的东西,但它在edge中工作它总是打印出值,但在chrome上没有,我得到了这个错误[无法设置[object object]的属性堆栈,它只有一个getter]

以下是我的代码片段:

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很高兴你找到了答案:-