Backone 关系子模型类型

Backone relational subModelTypes

本文关键字:类型 模型 关系 Backone      更新时间:2023-09-26

我在我的应用程序中使用了很棒的三重奏:骨干+骨干关系+木偶。

目前,我在创建多态关系方面遇到了一些麻烦。

这是我当前使用的代码的简化版本。

class MyApp.Conversation extends Backbone.RelationalModel
  urlRoot: "/api/v0/conversations"
  relations: [
    {
      type: Backbone.HasMany
      key: "members"
      relatedModel: MyApp.User
    }
  ] 

class MyApp.User extends Backbone.RelationalModel
  urlRoot: "/api/v0/users"
  # subModelTypes: {
  #   "Teacher": MyApp.Teacher
  #   "Student": MyApp.Student
  # }
class MyApp.Teacher extends MyApp.User
class MyApp.Student extends MyApp.User

当我注释掉subModelTypes部分时(正如我粘贴在这里的那样),一切正常(除此之外,对话的所有成员都是用户,而不是教师/学生)。当我将该subModelTypes添加到我的模型中时,我收到以下错误: 第 1638 行的Uncaught TypeError: Object.keys called on non-object

从骨干关系主页查看了子模型的示例代码,我在这里找不到我做错了什么。

如果有人能帮助我解决这个问题,我会非常高兴。

我自己刚遇到这个。 这是与CoffeeScript相关的,详见此处。 您需要在类定义之后调用MyApp.User.setup()