在 Angular 应用程序中找不到扩展程序
Extension not found in Angular application
在 Angular 13 应用程序中,我定义了以下扩展名:
export { }
Object.defineProperty(String.prototype, "toNumber", {
value: function(this: string) {
return this.trim() === '' ? null : Number(this) || null;
}
});
然后我用下面的方法:
this.userId = value.get('userId')?.toNumber() ?? undefined;
但是我得到了编译错误:
Property 'toNumber' does not exist on type 'string'.
我在以前的 Angular 版本应用程序中没有收到此错误。
我错过了什么?
- 向您的 extensions.ts 文件添加新声明:
export {};
declare global {
interface String {
toNumber(): number;
}
}
Object.defineProperty(String.prototype, "toNumber", {...});
- 不要忘记导入此文件:
import "../extensions";
模式详情 here.
在 Angular 13 应用程序中,我定义了以下扩展名:
export { }
Object.defineProperty(String.prototype, "toNumber", {
value: function(this: string) {
return this.trim() === '' ? null : Number(this) || null;
}
});
然后我用下面的方法:
this.userId = value.get('userId')?.toNumber() ?? undefined;
但是我得到了编译错误:
Property 'toNumber' does not exist on type 'string'.
我在以前的 Angular 版本应用程序中没有收到此错误。
我错过了什么?
- 向您的 extensions.ts 文件添加新声明:
export {};
declare global {
interface String {
toNumber(): number;
}
}
Object.defineProperty(String.prototype, "toNumber", {...});
- 不要忘记导入此文件:
import "../extensions";
模式详情 here.