javascript - 如何覆盖 backbone.view 构造函数以与自己实现的注册表一起使用

标签 javascript backbone.js

好的,我需要覆盖 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/

相关文章:

php - JavaScript onClick href

javascript - 将初始数据加载到主干应用程序的最佳实践?

backbone.js - 如何连接更改模型中的某些字段以反射(reflect)在 View 上?

javascript - 将 ES6 箭头函数转换为 ES5

javascript - Backbone.js View 属性中的变量

javascript - 具有多个元素的主干更改类

backbone.js - 主干 - 路由/ View 更改事件之前

javascript - Simperium JS 登录失败

javascript - Google map 动态 URL 生成

javascript - 在选择更改 href 和文本