具有严格值的Typescript使用界面

时间:2018-07-31 09:45:01

标签: typescript typescript-typings typescript2.0

我有一个打字稿/反应项目,我在其中使用@material组件。在@ types / material __ component 下有一些定义。 在定义中经常有类似的接口(此接口来自@ types / material__menu / constants.d.ts):

export interface CornerBit extends MDCNumbers {
    BOTTOM: 1;
    CENTER: 2;
    RIGHT: 4;
    FLIP_RTL: 8;
}

现在,如果我想在代码中使用CornerBit,我会这样做:

import { CornerBit } from "@material/menu/"

@ material / menu / index.js从constant.js中导出CornerBit,声明为:

const CornerBit = {
  BOTTOM: 1,
  CENTER: 2,
  RIGHT: 4,
  FLIP_RTL: 8,
};

现在,当我将上述代码导入CornerBit并尝试执行以下操作时:

const MyCornerBit = CornerBit;

我得到:

TS2693: 'Corner' only refers to a type, but is being used as a value here.

所以我想我只是以某种方式导入接口,而不是const本身。我该如何使用这样的接口(所有属性都有明确的值)?

感觉完全没用:

const MyCornerBit: CornerBit = {
    BOTTOM: 1,
    CENTER: 2,
    RIGHT: 4,
    FLIP_RTL: 8,
}

谢谢。

1 个答案:

答案 0 :(得分:1)

您应该像这样将常量std::basic_ostream声明为MyCornerBit

CornerBit

无需实例化具有匹配属性的const