我正在尝试在SAPUI5中创建一个弹出/片段,显示数据库中列出的注释。我知道数据库与调用一起工作正常。当我点击应该打开片段的按钮时,没有任何反应。
_getDialog: function() {
// associate controller with the fragment
this.oCommentDialog = sap.ui.xmlfragment("really.long.destination.fragment.CommentDialog", this);
this.getView().addDependent(this.oCommentDialog);
// toggle compact style
jQuery.sap.syncStyleClass("sapUiSizeCompact", this.getView(), this.oCommentDialog);
//this.oCommentDialog.open;
return this.oCommentDialog;
},
onCommentDialogPress: function(oEvent) {
var oCommentDialog = this._getDialog();
console.log(oCommentDialog);
oCommentDialog.open();
}
<core:FragmentDefinition
xmlns="sap.m"
xmlns:core="sap.ui.core">
<Popover
title="Comments"
class="sapUiContentPadding"
placement="Top">
<footer>
<Toolbar>
<ToolbarSpacer/>
<Button
id="email"
text="Email"
press="handleEmailPress" />
</Toolbar>
</footer>
</Popover>
未捕获的TypeError:oCommentDialog.open不是函数
console.log(oCommentDialog);
错误上方的行有一个返回函数或原型。
所以我知道这是有效的,或者至少我认为。
我已经检查过是否看到OPEN()设置为代码中的某些内容,而不是。
答案 0 :(得分:1)
您使用的是Popover
,其中没有open
方法。
如果您想打开Popover
,则需要使用myPopover.openBy(control)
。
您可以找到文档here
您尝试使用open
,并考虑到您的变量名称,看起来您可能正在寻找Dialog控件。