【问题标题】:Initialize Arrays dynamicaly in Angular2在 Angular 2 中动态初始化数组
【发布时间】:2017-12-07 02:39:02
【问题描述】:

我正在尝试从 Angular2 中的另一个数组初始化数组变量。 让我详细解释一下。 加载页面后,我会从服务器收到一个包含字符串的数组(我们称之为 initialArray)。而且我想初始化数组变量(我可以在我的组件中使用它),它们是空的,我可以在之后调用它。我想要数组的 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 是一个数组...

【问题讨论】:

  • 将数组更改为 []

标签: arrays string angular ngoninit


【解决方案1】:

下面试试

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2012-01-27
    相关资源
    最近更新 更多