Backbone.js集合获取'这个_byId'未定义
Backbone.js collection fetch 'this._byId' undefined
我正在使用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。未定义的对象是集合的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中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 无法获取属性'selectedIndex'的未定义引用或null引用
- 如何消除代码中的未定义和其他问题
- 未捕获的ReferenceError:$未定义
- this.router在AngularJS 2中未定义
- 未捕获的类型错误:无法读取属性'删除'的未定义
- 节点fs.stat名称未定义
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- Jquery未定义函数正在停止其他操作
- AngularJS指令出错-无法读取属性'编译'的未定义
- 这.SOMETHING 总是返回未定义的 - extjs
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Wordpress中带有JQuery Accordion的未定义匿名函数
- Dojo:使用注册表.byID返回“未定义”