首页 > 解决方案 > 如何在 Typescript(Angular) 中将类型实现为对象的值

问题描述

我想将类型实现为对象的值。问题是目标对象必须有另一种类型。该对象是 Angular 的路由器。

我想做的是。

const object: Type = [{ // <-- I have to use Type here.
  otherkey: value,
  data: { // <-- I want to implement type here.
   a: 1,
   b: 'hello'
     }
}]

interface TypeForData {
   a: number;
   b: string;
}
----------------------
// in library's .d.ts file
export declare Type{
  otherkey: ...;
  [data: string]:any;
}[]

我尝试了这些解决方案。

  1. 扩展类型。
  2. 转换值(对象)。

1.扩展类型

import { Type } from 'somewhere'
interface TypeForData extends Type{
    a: number;
    b: string;
}[]
then implement to variable. but doesn't work well.

2.cast值(对象)。

const object: Type = [{ 
  otherkey: value,
  data: <TypeForData> { 
   a: 1,
   b: 'hello'
     }
}]
but CLI doesn't show error even I assign different type value.

如果我能得到解决方案,我真的很高兴。谢谢你。

标签: angulartypescript

解决方案


你可以试试这个。

interface TypeForData {
   a: number;
   b: string;
}

var someData: TypeForData;

var obj = {
    someData
};

在此处输入图像描述


推荐阅读