alt tipinin bir alt türü değil, TypeScript ve BackboneJS kullanarak bir sınama uygulaması üzerinde çalışıyorum. Temelde bir çalışan dizini. Bir Koleksiyon tanımlamaya çalışırken aşağıdaki hatayı alıyorum.TypeScript geçersiz kılınmış üye, özgün üye
Type of overridden member 'url' is not subtype of original member defined by type 'Collection'
Model ve Koleksiyon tanımlarım. Ben de burada typescript ile Omurga arabirim için bazı tanımları kullanarak ve kulüpler
class Employee extends Backbone.Model {
reports: EmployeeCollection;
constructor (options?) {
super(options);
this.reports = new EmployeeCollection();
this.reports.url = '../api/employees/' + this.id + '/reports';
}
}
class EmployeeCollection extends Backbone.Collection {
url: string = "../api/employees";
model = Employee;
findByName(key) {}
}
i kullanıyorum dosyasıdır.
export class Model {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
constructor (attributes?: any, options?: any);
get(attributeName: string): any;
set(attributeName: string, value: any): void;
set(obj: any): void;
escape(attribute);
has(attribute);
unset(attribute, options?);
clear(options?);
id: any;
idAttribute: any;
cid;
attributes;
changed;
bind(ev: string, f: Function, ctx?: any): void; /// ????
// defaults; defaults();
toJSON(): string;
fetch(options?);
save(attributes? , options?): void;
destroy(options?): void;
validate(attributes);
isValid();
url();
urlRoot();
parse(response);
clone();
isNew();
change();
hasChanged(attribute?);
changedAttributes(attributes?);
previous(attribute);
previousAttributes();
}
export class Collection {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
model;
constructor (models? , options?);
models;
toJSON(): any;
///// start UNDERSCORE 28:
bind(ev: string, f: Function, ctx?: any): void;
collection: Model;
create(attrs, opts?): Collection;
each(f: (elem: any) => void): void;
last(): any;
last(n: number): any[];
filter(f: (elem: any) => any): Collection;
without(...values: any[]): Collection;
// Underscore bindings
each(object: any, iterator: (value, key, list?) => void , context?: any): any[];
forEach(object: any, iterator: (value, key, list?) => void , context?: any): any[];
map(object: any, iterator: (value, key, list?) => void , context?: any): any[];
reduce(list: any[], iterator: any, memo: (memo: any, element: any, index: number, list: any[]) => any, context?: any): any[];
reduceRight(list: any[], iterator: (memo: any, element: any, index: number, list: any[]) => any, memo: any, context?: any): any[];
find(list: any[], iterator: any, context?: any): any; // ???
detect(list: any[], iterator: any, context?: any): any; // ???
filter(list: any[], iterator: any, context?: any): any[];
select(list: any[], iterator: any, context?: any): any[];
reject(list: any[], iterator: any, context?: any): any[];
every(list: any[], iterator: any, context?: any): bool;
all(list: any[], iterator: any, context?: any): bool;
any(list: any[], iterator?: any, context?: any): bool;
some(list: any[], iterator?: any, context?: any): bool;
contains(list: any, value: any): bool;
contains(list: any[], value: any): bool;
include(list: any, value: any): bool;
include(list: any[], value: any): bool;
invoke(list: any[], methodName: string, arguments: any[]): any;
invoke(object: any, methodName: string, ...arguments: any[]): any;
max(list: any[], iterator?: any, context?: any): any;
min(list: any[], iterator?: any, context?: any): any;
sortBy(list: any[], iterator?: any, context?: any): any;
sortedIndex(list: any[], valueL: any, iterator?: any): number;
toArray(list: any): any[];
size(list: any): number;
first(array: any[], n?: number): any;
initial(array: any[], n?: number): any[];
rest(array: any[], n?: number): any[];
last(array: any[], n?: number): any;
without(array: any[], ...values: any[]): any[];
indexOf(array: any[], value: any, isSorted?: bool): number;
shuffle(list: any[]): any[];
lastIndexOf(array: any[], value: any, fromIndex?: number): number;
isEmpty(object: any): bool;
groupBy(list: any[], iterator: any): any;
add(models, options?);
remove(models, options?);
get(id);
getByCid(cid);
at(index: number);
push(model, options?);
pop(options?);
unshift(model, options?);
shift(options?);
length: number;
//comparator;
sort(options?);
pluck(attribute);
where(attributes);
url();
parse(response);
fetch(options?: any): void;
reset(models, options?);
create(attributes, options?);
}
export class Router {
static extend(properties: any, classProperties?: any): any; // do not use, prefer TypeScript's extend functionality
routes;
constructor (options?);
route(route, name, callback?);
navigate(fragment, options?);
}
: html (htmlElement: HTMLElement): JQuery; – Flyers