我最近第一次看到 .nsh 文件。它是什么?我找不到有关这种语言的任何文档。有谁知道有什么好的地方可以学习这方面的知识吗?
我正在实施以下课程:
export class BbSVGElement extends HTMLElement implements HTMLCanvasElement { ... }
Run Code Online (Sandbox Code Playgroud)
问题是我<svg>在打字稿中找不到元素的类型:<span>元素是HTMLSpanElement,<canvas>元素是HTMLCanvasElement等等。
我问是因为要实现一个简单的任务,比如height()函数,我需要获取元素的边界框。根据这个堆栈溢出答案,这是正确的方法:
height(): number { return this.getBBox().height}
Run Code Online (Sandbox Code Playgroud)
但既然this指的是HTMLElement,当然Property 'getBBox' does not exist on type 'BbSVGElement'.ts(2339)
所以我尝试了各种铸件;像:
return (<SVGElement> this).getBBox().width
return (<SVGSVGElement> this).getBBox().width
Run Code Online (Sandbox Code Playgroud)
我当然可以做类似的事情
return (<any> this).getBBox().width
Run Code Online (Sandbox Code Playgroud)
或者
return this.offsetWidth // <-- This property here comes from HTMLElement
Run Code Online (Sandbox Code Playgroud)
但如果可能的话,我宁愿不要。
那么:正确的演员阵容应该怎么做?还是我错过了另一个选择?