Я создал свои собственные расширения для массива, как показано ниже:массива прототип машинопись
export interface Func<T, TResult> {
(item: T): TResult;
}
declare global {
interface Array<T> {
where(predicate: Func<T, boolean>): Array<T>;
single(predicate: Func<T, boolean>): T;
first(predicate: Func<T, boolean>): T;
take(predicate: Func<T, boolean>, count: number): Array<T>;
countWhere(predicate: Func<T, boolean>): number;
count(): number;
}
}
Array.prototype.count = function <T>(): number {
return this.length;
}
//others
В любом из моего компонента IntelliSense показывает мне эти методы как расширения, но при отладке я неопределенный, например:
events: Event[];
var result = this.events.count();
Где я должен применять методы Array, чтобы они могли быть видны из любого компонента?
Связанный: http://stackoverflow.com/a/14034242/215552 –
Вы загрузили модуль, который фактически создает эти методы в вашем отлаженном проекте? – Bergi
Его в другом файле .ts У меня есть exportem этот файл в используемом компоненте – miechooy