超类的方法不可用

时间:2013-12-10 16:18:42

标签: sapui5

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

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

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

我做错了什么或者这是一种弃用的做法?

BR, 尼科

1 个答案:

答案 0 :(得分: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()
}

希望这会对你有所帮助。