我做了一个 goog.ui.Component 的子类:
/**
* Renders the bottom pane.
* @param {!myapp.Entity} entity An entity.
* @param {goog.dom.DomHelper=} opt_domHelper Optional DOM helper.
* @constructor
* @extends {goog.ui.Component}
*/
myapp.BottomPane = function(entity, opt_domHelper) {
goog.base(this, opt_domHelper);
this.setModel(entity);
}
goog.inherits(myapp.BottomPane, goog.ui.Component);
但是,当我运行我的 javascript 时,Chrome 控制台会指出Uncaught TypeError: Object #<Object> has no method 'setModel'
. 我设置了一个断点并意识到,事实上,我的myapp.BottomPane
实例setModel
在原型链中缺少一个方法。这很奇怪,因为文档指出所有组件都具有此方法:http ://closure-library.googlecode.com/svn/docs/class_goog_ui_Component.html
为什么我goog.ui.Component
缺少setModel
方法?我知道调用goog.base(this, opt_domHelper);
是有效的,因为我的对象有一个 DOM 助手。