javascript - 如果我使用 _.bindAll(this) 为什么我的 Backbone.View.constructor.__super__ 未定义

标签 javascript backbone.js

我正在继承我自己的 Backbone.View。如果,在父类(super class)的初始化函数中,我写:

_.bindAll(这个, '很多', '方法');

并指定我想绑定(bind)到此上下文的方法,我可以通过以下方式从子类调用 super:

this.constructor.__super__.initialize.apply(this, arguments);

但是,如果在父类(super class)中,我使用:

_.bindAll(this)

相反,当我从我的子类调用 super 时,

this.constructor.__super__

未定义。为什么会这样?

最佳答案

为什么不简单地使用它来调用 super :

(为了说明,我分成几行,你可以在一行中调用)

var thisProto = Object.getPrototypeOf(thisInstance);
var superProto = Object.getPrototypeOf(thisProto);
superProto.superMethod.apply(thisInstance, [param1, param2]);

Reference: GetPrototypeOf

关于javascript - 如果我使用 _.bindAll(this) 为什么我的 Backbone.View.constructor.__super__ 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8764597/

相关文章:

javascript - 如何根据集合属性设置Backbone模型的默认值

javascript - Backbone.js - 实现 "Instant"搜索的最佳实践

javascript - 页面初始化后添加内容的 jQuery Mobile 渲染问题

javascript - 隐藏选择字段中的额外数据?

javascript - 从另一个页面加载和更改 iFrame 'src'

javascript - 更改 Google map 上路线的默认标记

javascript - Backbone.Marionette 1.2没有方法 'bindTo'

javascript - 如何更新Backbone JS模型属性?

javascript - javascript中的 Accordion 选择器

javascript - 简单的用户界面路线,请解释