使用Angular中的Javascript扩展字符串

时间:2017-08-20 15:01:47

标签: angular typescript

对于Angular和JavaScript都很新,所以不确定这是否是一个微不足道的但我不能谷歌这个。

我需要使用专有的遗留JS库,它正在进行一些非常定制的基于XML的编组/解组/远程处理。它的所有值对象都有toXMLtoObject方法,并且还使用这些方法扩展了String等库存类。

我正试图让它从Angular中运行 - 我导入了源JS文件,并在例如。

declare var Discrete; 
declare var String;

我能够处理最终调用的方法,例如。 Discrete.toXML()但不是调用String.toXML()的那些 - 它在运行时因TypeError: String.toXML is not a function而失败。

也试过

declare interface String {
    toXML() : any;
}

但它没有帮助。

有什么想法让它发挥作用?谢谢!

1 个答案:

答案 0 :(得分:0)

String是字符串类型构造函数,我想你需要扩展接口,如下所示:

interface String {
    toXML() : any;
}

不确定,但可能需要在string.d.ts文件中定义它。 你也可以这样试试:

declare global {
    interface String {
        toXML() : any;
    }
}