期望参数声明(打字稿)

时间:2017-01-24 19:00:53

标签: javascript angularjs typescript

@Vinay在这个TypeScript + AngularJS 1: How to connect enum with select directive?问题中显示了一种相对简单的方法来获取一个数组来构建一个角度选择下拉列表。

不幸的是,我试图模仿这段代码并且我得到错误......首先声明了颜色'数组,如果我使用var或let ...(但如果我不这样做,它就有效)。不幸的是,这只是将错误移动到for循环设置中的下一个变量声明。不幸的是,在这里,我无法加入letvar

我确信这很简单,但我只是在敲我的想法。

enum Color {
    Green = <any>"Green",
    Red = <any>"Red",
    Blue = <any>"Blue"
  }

export class ClassName {
  colors: string[] = [];  // <-- get error here if I declare var or let
  for (var item in Color) {  // <-- get error here
      if (Color.hasOwnProperty(item)) {
          this.colors.push(item);
      }
   }
 }

1 个答案:

答案 0 :(得分:0)

属性声明属于正文,但可执行代码位于构造函数中:

export class ClassName {
  colors: string[] = [];  // <-- get error here if I declare var or let
  constructor() {
    for (var item in Color) {  // <-- get error here
        if (Color.hasOwnProperty(item)) {
            this.colors.push(item);
        }
    }
  }
}