输入对象属性值wih Typescript

时间:2016-10-23 17:21:23

标签: typescript

我正在myInterfaces.ts中导出一个类

export class SettingsObj{
  lang : string;
  size : number;
}

现在我想在另一个名为myConfig.ts的文件中使用此类来键入名为CONFIG的对象的属性值。

myConfig.ts

import { SettingsObj, ...};
...

    export var CONFIG = {
      // default settings
      settings : {
        lang : "eng",
        size : 10
      },...
    ...
    }

我无法键入像

这样的值
export var CONFIG = {
  // default settings
  setings : {...} : SettingsObj;
}

是否有语法或命令?

1 个答案:

答案 0 :(得分:0)

我可以想到两个解决这个问题的方法。

1 - 使用构造函数

export class SettingsObj{
  lang : string;
  size : number;

  constructor() {
    this.lang = "default size;
    this.size = 0 //replace with desired default
  }
}

2 - 通过SettingsService

公开默认值
import { SettingsService } from 'path/to/service'

export class SettingsObj{
  lang : string;
  size : number;

  constructor(private settingsService: SettingsService) {
    this.lang = this.settingsService.defaultLang;
    this.size = this.settingsService.defaultSize;
  }
}