gpt4 book ai didi

javascript - Backbone.js 集合获取 'this._byId' 未定义

转载 作者:行者123 更新时间:2023-11-30 08:50:20 39 4
gpt4 key购买 nike

我正在使用 CoffeeScript 。我的代码非常简单:

class SomeCollection extends Backbone.Collection
constructor: (@options) ->
url: ->
"#{$SCRIPT_ROOT}/some/data/#{@options.someId}"
model: SomeModel

class SomeView extends Backbone.View
initialize: ->
myCollection = new SomeCollection()
myCollection.fetch
success: (coll, resp) ->
console.log coll

从我的收藏 url 返回的 JSON 完全是:

[{"id": 1, "comments": "", "name": "images/exceptions/59.png"}]

但是,在控制台打印任何内容之前,我在第 768 行 收到 backbone.js 错误:无法读取未定义的属性 1。 undefined object 是集合的 get 函数中的 this._byId。我该如何解决这个问题?

最佳答案

您正在扩展 Backbone.Collection 并提供您自己的构造函数,因此您需要确保调用父构造函数。

constructor: (@options) ->
super null, @options

此外,Collection 的标准参数是(models, options),所以我会坚持这一点。

constructor: (models, @options) ->
super models, @options

或者更好的是,使用 initialize 而不是 constructor 来完全避免这种情况

initialize: (models, @options) ->

关于javascript - Backbone.js 集合获取 'this._byId' 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457004/

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