2

我有以下代码:

    class Student extends Backbone.Model { 
        // id, lastname, firstname, birthdate 
    }


    class StudentList extends Backbone.Collection { 
        model = Student;  
        ... 
    }

我总是遇到这样的错误。

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

在官方示例中几乎是相同的代码。它在那里工作(Todo->TodoList)。我的backbone.d.ts 中的Collection 声明是这样的。

...
model:Model;
...

有任何想法吗?

4

2 回答 2

1

您正在将 var 的值设置model类型 Studentmodel = Student;

要覆盖您需要的变量model:Student;并设置您需要model:Student = nameOfSomeInstanceOfClassStudent;(或只是model = nameOfSomeInstanceOfClassStudent;)的值,或者,如果您使用新学生初始化它,model:Student = new Student();

于 2012-11-30T13:15:12.903 回答
0

我通过在构造函数中分配模型类型解决了这个问题。

 export class Users extends Backbone.Collection<Models.User> {
     constructor(models?: Models.User[], options?: any) {
      super(models, options);

      this.model = Models.User;
     }
    }
于 2016-08-29T19:01:23.773 回答