我有一段Javascript代码,我需要转换为Typescript,并且由于我是Typescript的新手,并且我在该领域没有太多经验,所以到目前为止,我一直在努力寻找答案。有一个变量(选项):
class Global {
...
options: any;
,并在代码的其他地方对其进行了初始化:
global.options = extend(
{
pauseFocusSelector: '.pause-on-focus'
},
global.options);
所以我决定在Typescript中定义一个接口来分配其类型:
interface OptionType
{
pauseFocusSelector: string[];
};
但是当我编译它时,出现此错误:
错误TS2345:“选项类型”类型的参数无法分配给“字符串”类型的参数。
有人可以给我一个解决的提示吗?
答案 0 :(得分:1)
这是因为您试图将string
分配给具有字符串数组类型的接口的属性。
您要么需要将OptionType
界面更改为:
interface OptionType
{
pauseFocusSelector: string;
};
或者,如果pauseFocusSelector
必须为string[]
,则需要将分配行更改为:
global.options = extend({
pauseFocusSelector: ['.pause-on-focus']
}, global.options);