【问题标题】:Complex Interface in TypeScriptTypeScript 中的复杂接口
【发布时间】:2014-07-25 09:03:10
【问题描述】:

我是 TypeScript 的新手,正在尝试实现一个“复杂”的接口。我不确定我想要的是否可能。

我有以下 javascript:

var simpleSetting = { setting1: 'test', setting2: 1 };

为此我可以创建一个这样的接口:

interface SimpleSetting {
   setting1: string;
   setting2: number;
}

然后像这样使用它:

var simpleSetting: SimpleSetting = { setting1: 'test', setting2: 1 };

我想做的是为这个声明定义一个接口:

var setting = {
    data: {
        simpleData: {
            enable: true
        },
        view: {
            expandSpeed: ""
        }
    }
};

我知道我可以创建这样的东西:

interface View {
   expandSpeed : string;
}
interface Data {
   simpleData: SimpleData;
   view : View;
}
interface ComplexSetting {
   data : Data;
}

实现我想要的,但是否可以仅通过 decaring 一个接口而不是三个接口来实现相同的结果?

【问题讨论】:

    标签: interface typescript


    【解决方案1】:

    当然可以,像这样内联内部接口:

    interface ComplexSetting {
      data: {
        simpleData: {enable: boolean;};
        view: {expandSpeed: string;};
      };
    }
    

    【讨论】:

    • 为什么我们用分号结束enable: boolean;和属性声明;内部数据类型为什么不用逗号{simpleData: {enable: boolean}, view: {expandSpeed: string}}
    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 2016-06-26
    • 2011-05-12
    • 1970-01-01
    • 2017-02-07
    • 2021-04-19
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多