0

我正在尝试从Angular2中的另一个数组初始化数组变量。让我详细解释一下。加载页面后,我会从服务器收到一个包含字符串的数组(我们称之为 initialArray)。而且我想初始化数组变量(我可以在我的组件中使用它),它们是空的,我可以在之后调用它。我想要数组的 initialArray.length 数量。我不知道我怎么能做到这一点

我的组件.ts

import {Component} from '@angular/core' ;
import {getArrayService} from 'getarray.service';

@Component({
   selector : 'mycomponent',
   moduleId: module.id,
   templateUrl: 'mycomponent.component.html'
})

export class myComponent{

initialArray : Array<string>

constructor(private _getarrayservice : getArrayService)

ngOnInit(){
this._getarrayservice.getArrayfromAPI()
  .subscribe ( res => this.array = res,
              err => console.error(err.status)
            );

for(let name in initialArray ){
   name : Array<any>;
   };

 }
}

但是,此代码不起作用,因为 name 是一个数组...

4

1 回答 1

0

试试下面

  1. 您的构造函数缺少主体
  2. 将您的数组初始化为默认的空数组
  3. 确保您的服务器返回一个字符串数组,大多数返回 json。否则使用 any 代替字符串。
  4. 一旦你从 observable 收到你的服务器数组,覆盖你的,initialArray否则你可以迭代它并将新项目推送到数组中,如果你愿意的话。

样本

import {Component} from '@angular/core' ;
import {getArrayService} from 'getarray.service';

@Component({
   selector : 'mycomponent',
   moduleId: module.id,
   templateUrl: 'mycomponent.component.html'
})

export class myComponent{

initialArray: Array<string> = [];

constructor(private _getarrayservice : getArrayService) {
}

ngOnInit(){
this._getarrayservice.getArrayfromAPI()
  .subscribe ( 
    res => this.initialArray= res,
    err => console.error(err.status)
  );
}
于 2017-07-03T19:07:29.583 回答