好的,我需要覆盖 Backbone.View.prototype.constructor
以保存 cid -> view
对。
写了这个但是出错了:
Backbone.Registry =
items: {}
register: (v)-> @items[v.cid] = v
get: (cid)-> @items[cid]
fn = Backbone.View.prototype.constructor
Backbone.View.prototype.constructor = (options)->
fn.apply(this,[options])
Backbone.Registry.register(this)
但它在其他库(如 marionette 和 handlebars)中犯了很多错误。
最佳答案
好的,找到问题了!
必须使用 fn.apply(this,arguments)
而不是 fn.apply(this,[options])
关于javascript - 如何覆盖 backbone.view 构造函数以与自己实现的注册表一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495435/