繁体   English   中英

Typescript动态object接口

[英]Typescript dynamic object interface

我正在使用 javascript 创建一个 object 并希望添加一个数据接口:

Javascript:

const childGroups: Children = {};
      childGroups.children = [];

// Pushing some data 
childGroups.children.push(children);

界面:

export interface Child {
    ClusterPoint
}

export interface Children {
    children: {
        [key: number]: Child
    }
}

我收到以下错误: Property 'children' is missing in type '{}' but required in type 'Children'. Property 'push' does not exist on type {[key: number]: Child} Property 'children' is missing in type '{}' but required in type 'Children'. Property 'push' does not exist on type {[key: number]: Child}

数据看起来是这样的:

在此处输入图像描述

任何帮助,将不胜感激。

更新

感谢 Nikita Madeev,我设法让它与这个一起工作:

export interface Child {
    children: {
        ClusterPoint
    };
}

export interface Children {
    children: Child[];
}
export interface Child {
    ClusterPoint;
}

export interface Children {
    children: Child[];
}

const childGroups: Children = { children: [] };

// Pushing some data
childGroups.children.push(newChildren);
  1. Children.children - object,不是数组,object 没有推送方法
  2. 在初始化期间,您需要指定所有必要的属性

如果你想实现这个结构

const childGroups: Children = {};
      childGroups.children = [];

那么接口将是

export interface Children {
    children?: Child[];
}

如果你想实现这个结构

const childGroups: Children = {};
      childGroups.children = {[some_id]: some_childValue};

那么界面将是

export interface Children {
    children?: {
      [key: number]: Child
     };
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM