C: \ DEV \ OpenCMS \ Сайт \ Frontend \ Scripts \ Libs \ sinnovations> TSC sinnovations.listv iewbase.ts --module драм C:/dev/OpenCMS/Веб-сайт/Frontend/Scripts/libs/sinnovations/sinnovations.listviewb ase.ts (11,5): ошибка TS2025: «Столбцы открытого свойства» экспортированного класса имеет или использует закрытый тип «KnockoutObservableArray».Открытое свойство экспортируемого класса использует частный тип ошибки в машинописном
/// <reference path="../../typings/knockout/knockout.d.ts" />
import ko = require('knockout');
interface Column {
label: string;
}
var _templateBase = '/Frontend/Templates/ListView/';
class ListViewBase<T> {
columns: KnockoutObservableArray<Column> = ko.observableArray([]);
rows: KnockoutObservableArray<T> = ko.observableArray([]);
constructor(public templateHeaderRow = _templateBase+'DefaultTableHeaderTemplate', public templateBodyRow = _templateBase + 'DefaultTableRowTemplate') {
}
addColumn(column: Column) {
this.columns.push(column);
}
addRow(row: T) {
this.rows.push(row);
}
static configure(templateBase) {
_templateBase = templateBase;
}
}
export = ListViewBase;
Я понимаю ошибку, но не знаю, как еще получить эффект выше. У любого есть решение для экспорта некоторых интерфейсов по классу, который экспортируется как export = class?
Хорошо. Думаю, мне просто нужно привыкнуть к определению моих интерфейсов в отдельных файлах. Спасибо –
У меня только один файл со всеми нашими интерфейсами называется * types.ts * – basarat