Typescript 无法创建行为主题

Typescript 无法创建行为主题,typescript,angular6,Typescript,Angular6,我无法创建行为主题 我期待一个json,它应该映射到下面的Typescript类 export class GetDataAPI { 'some-data':string; constructor (public title:string, public description:string, public tags:Array<string>, public someData:stri

我无法创建
行为主题

我期待一个
json
,它应该映射到下面的
Typescript

export class GetDataAPI {
  'some-data':string;
  constructor (public title:string,
               public description:string,
               public tags:Array<string>,
               public someData:string
             ){
    this['some-data'] = someData;
  }
}
当我尝试初始化
BehaviorSubject
时,我得到编译错误
this.dataSubject=newbehaviorsubject({})

错误是
错误TS2345:类型为“{}”的参数不能分配给类型为“GetDataAPI”的参数。

类型“{}”中缺少属性“some-data”。

我必须创建一个指定所有参数的对象,即

new BehaviorSubject<GetDataAPI>({'some-data':'',
      'title':'',
  'description':'',
  'tags':[],
  'someData':''});
newbehaviorsubject({'some-data':'',
“标题”:“,
“描述”:“,
“标记”:[],
“someData”:“});

try:
this.dataSubject=newbehaviorsubject({'some-data':''})
如果
GetDataAPI
是一个类,那么您所做的仍然是不正确的,因为主题的初始值不会是类实例;它将是一个匿名对象。所以我应该做
新的行为主体(新的GetDataAPI(“”,,[],“”))
?我刚刚做了,它也可以工作,但我想你的建议比我之前做的更正确。如果它是一个类,你必须确保构造函数被调用。基本上,你不应该把类当作接口来对待。对不起,我现在有点困惑。如果
newbehaviorsubject(newgetdataapi('',[],'')
不正确,请举例说明如何初始化
GetDataAPI
是一个Classic,我应该在前面的注释前面加上“yes”前缀,因为您需要使用
new GetDataAPI
等。抱歉把事情弄糊涂了。
new BehaviorSubject<GetDataAPI>({'some-data':'',
      'title':'',
  'description':'',
  'tags':[],
  'someData':''});