动态地在Angular2

时间:2017-07-03 18:43:17

标签: arrays string angular ngoninit

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

mycomponent.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是一个数组...

1 个答案:

答案 0 :(得分:0)

尝试

  1. 您的构造函数缺少正文
  2. 将数组初始化为默认的空数组
  3. 确保您的服务器返回一个字符串数组,大多数返回json。否则使用any而不是string。
  4. 从observable收到服务器阵列后,覆盖initialArray,否则您可以迭代它并将新项目推送到阵列中。
  5. <强>示例

    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)
      );
    }