javascript - Backbone 关系子模型类型

标签 javascript backbone.js backbone-relational

我在我的应用程序中使用了很棒的三重奏:Backbone + Backbone Relational + Marionette。

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

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

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 添加到我的模型中时,出现以下错误: Uncaught TypeError: Object.keys called on non-objectLine 1638

我从 backbone-relational 主页上查看了子模型的示例代码,在这里我找不到任何我做错的地方。

如果有人能帮助我,我将不胜感激。

最佳答案

我自己刚遇到这个。这是 CoffeeScript-related, as detailed here .您需要在类定义之后调用 MyApp.User.setup()

关于javascript - Backbone 关系子模型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18916281/

相关文章:

javascript - Angular Material Moment.js 格式化

javascript - 访问 Backbone View 的功能以制作 sinon stub

javascript - Backbone.Collections 中的集合和上下文有何用途?

ruby-on-rails-3 - 使用 Rails 保存 Backbone.js 模型时出错

jquery - 如何在 Backbone.js 中加载具有外键关系的子模型?

javascript - innerHtml.replace 替换标签而不仅仅是文本

javascript - 在AJAX分页中添加类 'active'

javascript - 使用类属性的 jquery 验证

javascript - Backbone-relational 不能实例化两个 RelationalModel 对象

javascript - Backbone 关系中的链接模型