2017-09-21 59 views
2

我有错误角色映射对象

类型 '字符串' 不可分配为类型 '()=>字符串'

this.selectedValue.display = headerOcr.author.profession; 

private selectedValue: IDocumentType = { 
    id: '1', 
    display:() => '', 
    label: '' 
} 

这是用于“了selectedValue缺省初始化值“

我该怎么办headerOcr.author.professiondisplay;() => ''应该有const类型。

+0

试()=> {return '指令'} – valepu

+2

你分配给'display'功能。如果显示类型是一个字符串,你可能想通过编写'display:(()=>')()'或直接写出'display:'''来立即调用该函数。 –

回答

2

类型“串”是不能分配给输入“()=>字符串'

Typescript期望所有的对象属性都是字符串,所以有两种方法:

  1. display:() => return '',
  2. 返回值更改IDocumentType界面如下:

IDocumentType { /*...*/ display:() => string /*...*/ }

2

如果将其定义为string类型,则无法传递函数。您可以在更改headerOcr的定义或在将其传递给显示之前评估函数调用。

定义的改变看起来像这样:

IDocumentType { 
    display:() => string 
} 

有了,你必须使用它作为IDocumentType.display()