2017-08-02 70 views
0

我想在SAPUI5中製作一個彈出框/片段來顯示數據庫中列出的註釋。我知道數據庫與調用一起工作良好。當我點擊應該打開片段的按鈕時,沒有任何反應。SAPUI5片段不會打開

Controller.js
_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(); 
    } 

CommentDialog.fragment.xml
<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> 

Here is the error i get in the console.

未捕獲的類型錯誤:oCommentDialog.open不是函數

console.log(oCommentDialog);以上的錯誤行具有返回函數或原型。 所以我知道這是工作,或者至少我認爲。

我已經檢查過,看看如果開放()被設置爲代碼中的其他東西,事實並非如此。

回答

1

您正在使用的是Popover,該方法沒有open方法。 如果你想開一個Popover你需要使用myPopover.openBy(control)

您可以找到的文檔here

您嘗試使用open,並考慮您的變量名的事實,它看起來像你可能會尋找Dialog控制。

+0

這有幫助!非常感謝你的澄清! – TylerIlGenio