Angular 7 Добавление метода расширения к примитивам
Я хотел бы добавить несколько методов для примитивов. У меня есть следующий файл:
струнно-extension.ts:
interface String {
isNullOrEmpty(this: string): boolean;
}
String.prototype.isNullOrEmpty = function (this: string): boolean {
return !this;
};
У меня есть компонент, который имеет следующий код:
constructor () {
let a = "asd";
alert(a.isNullOrEmpty());
}
импорт не добавляется сверху. Когда я запускаю клиент, он падает на этой линии.
a.isNullOrEmpty is not a function
Когда я проверяю код, я вижу, что мой файл string-extension.ts не был там включен. Я очень знаком с концепцией в C#, но я не совсем знаком с ней в TypeScript, поэтому, если вам нужно больше информации, я предоставлю.
Благодарю.
1 ответ
Решение
Во -первых, создать global .d.ts.
файл для настройки подписи.
global.d.ts.
export {}; // this file needs to be a module
declare global {
interface String {
isNullOrEmpty(this: string): boolean;
}
}
струнно-extension.ts:
export {}; // this file needs to be a module
String.prototype.isNullOrEmpty = function (this: string): boolean {
return !this;
};
Сейчас в main.ts
импортировать расширение
import './string-extension'