主干错误,对象添加没有方法“绑定”;

发布于 2024-12-05 10:54:44 字数 846 浏览 1 评论 0原文

items.bind 'add', (item) => 
    @addOne(item)

addOne: (item) ->
    view = new ListItem({model: item})

..视图的初始化抛出此错误: TypeError: Object add has no method 'bind'

class ListItem extends Backbone.View

    el: $ '#wrap'

    template: $ '#listItem'

    initialize: () ->
        @model.bind 'change', @render, @ 
        @model.bind 'destroy', @remove, @

    render: () ->
        @el.append @template.tmpl @model.toJSON()

EDIT:logging item before set the view results in...

Item
_callbacks: Object
_changed: false
_changing: false
_escapedAttributes: Object
_previousAttributes: Object
attributes: Object
cid: "c2"
collection: Items
__proto__: ctor

但是如果我在初始化视图时记录@model,它是一个名为 add

编辑 的空对象2: item.bind 在 addOne 中未定义,但不知道为什么

items.bind 'add', (item) => 
    @addOne(item)

addOne: (item) ->
    view = new ListItem({model: item})

..initialization of the view throws this error: TypeError: Object add has no method 'bind'

class ListItem extends Backbone.View

    el: $ '#wrap'

    template: $ '#listItem'

    initialize: () ->
        @model.bind 'change', @render, @ 
        @model.bind 'destroy', @remove, @

    render: () ->
        @el.append @template.tmpl @model.toJSON()

EDIT: logging item before setting the view results in...

Item
_callbacks: Object
_changed: false
_changing: false
_escapedAttributes: Object
_previousAttributes: Object
attributes: Object
cid: "c2"
collection: Items
__proto__: ctor

but if I log @model when initializing the view it's an empty object called add

EDIT 2: item.bind is undefined from within addOne, not sure why though

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏花。依旧 2024-12-12 10:54:44

您的代码看起来不错,但您添加到 items 的对象似乎不是有效的模型。您的 items.add 调用使用什么代码?验证运行 items.add(new Backbone.Model) 时不会出现错误。

也许您确实这样做了,

items.add [{foo: bar}]

但将 Collection 类(items 是其实例)上的 model 属性设置为除 Backbone.Model 之外的其他内容子类?

Your code looks fine, but the object that you've added to items doesn't appear to be a valid model. What code are you using for your items.add call? Verify that you don't get an error when you run items.add(new Backbone.Model).

Perhaps you did

items.add [{foo: bar}]

but set the model property on the Collection class that items is an instance of to something other than a Backbone.Model subclass?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文