用于document.createElementNS的TypeScript类型

时间:2019-07-18 02:05:07

标签: typescript types

我正在尝试找出用于title的类型。


let text: String = `${this.altText || this.defaultText}`;

title = document.createElementNS(this.svgns, "title");
title.innerHTML = text;

唯一接近的是let title: Element;,但是title.innerHTML会产生以下错误:

Type 'String' is not assignable to type 'string'.
  'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible.ts(2322)

我认为这可能需要定义一个接口,但是我只是从TypeScript开始,仍然试图找出细微差别。

编辑:添加了文本声明

1 个答案:

答案 0 :(得分:0)

虽然看起来很像,但您可能输入了错误的文本变量(但我们无法从您提供的代码段中看到它)。

  

类型“字符串”不可分配给类型“字符串”。     “字符串”是基元,但是“字符串”是包装对象。 ts(2322)

根据错误引用,我猜想文本变量具有 String 类型(请注意首个大写字母),而 title.innerHTML 具有字符串类型(请注意第一个小写字母)。

text 变量使用 string 类型应该会有所帮助。