3

UI5 组件的 init 方法的大多数文档都意味着在覆盖它时调用超类的 init 方法:

sap.ui.commons.Button.prototype.init.apply(this, arguments);

但这不起作用。在调试和检查“sap.ui.commonds.Button”并分析原型时,不存在 init 方法 - 所以当然 apply 也不存在。SAP 正在使用 DataPicker 执行此操作,但它也没有可用的 init 方法。

我做错了什么还是这是一种已弃用的方法?

BR,尼科

4

1 回答 1

5

从 UI5 文档:

如果您从具有(或可能获得)init() 方法的另一个控件继承,则需要显式调用它...

由于 Button 控件到目前为止还没有 init() 函数(但可以存在于未来的版本中),我会这样做以保证未来的安全:

 if (sap.ui.commons.Button.prototype.init) {   // check whether superclass has an init() method
  sap.ui.commons.Button.prototype.init.apply(this, arguments);  // call super.init()
}

希望这对您有所帮助。

于 2013-12-12T11:20:00.340 回答