gpt4 book ai didi

javascript - 使用 Typescript 在 Backbone 中定义集合的模型类型

转载 作者:搜寻专家 更新时间:2023-10-30 21:31:35 24 4
gpt4 key购买 nike

我正在尝试将 Backbone 与 Typescript 一起使用,但我没有遵循 Typescript 的语法来定义集合将包含哪种类型的模型。

module Application.Collections {
export class Library extends Backbone.Collection {
model = Application.Models.Book; // THIS LINE DOESN'T WORK
constructor(options?) {
super(options);
};
}
}

module Application.Models {
export class Bookextends Backbone.Model {
constructor(options?) {
super(options);
}
}
}

我得到的错误是:

Type of overridden member 'model' is not subtype of original
member defined by type 'Collection';

我也不清楚何时应该在构造函数中放置这样的定义,或者它是否重要。我试过:

constructor(options?) {
super(options);
this.model = Application.Models.Entity;
};

上面写着:

Cannot convert 'new(options?:any) => Models.Template' to 'Backbone.Model'

我真正想做的是定义一个模型类型,它有一些实用方法——当从服务器获取基本模型数据时,我希望模型根据服务器初始化和计算一些方便的属性数据。但这并没有发生,因为 collection.fetch() 认为返回模型不是任何特定类型。

最佳答案

在“super(options);”之前声明模型

    module Application.Models {
export class Book extends Backbone.Model {
constructor(options?) {
super(options);
}
}

module Application.Collections {
export class Library extends Backbone.Collection {

constructor(options?) {
this.model = Application.Models.Book;
super(options);
};
}
}

关于javascript - 使用 Typescript 在 Backbone 中定义集合的模型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com