2017-03-16 20 views
-1

我有一個有2個視圖的SAPUI5應用程序。當我嘗試從第一個視圖與一個路由器的第二視圖瀏覽它拋出這個錯誤:SAPUI5:JSONModel不是構造函數

「遺漏的類型錯誤:JSONModel不是構造函數(......)」

的問題是我有消費內容的JSON來填充表,並與此錯誤,它仍然是空的

在類似的情況下/應用程序我的代碼運行沒有問題,所以我會很高興,如果有人可以閱讀我的代碼,如果有一些錯誤.. 。

Main.view.xml

<mvc:View controllerName="App.controller.Main" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc" 
displayBlock="true" xmlns="sap.m"> 
<App> 
    <pages> 
     <Page> 
      <content> 
       <Table id="paramTable" items="{/callbackData}" width="auto" class="sapUiResponsiveMargin"> 
        <columns> 
         <Column> 
          <Label text="Parameter"></Label> 
         </Column> 
         <Column width="10%"> 
          <Label text="CurrentVal"></Label> 
         </Column> 
         <Column width="10%"> 
          <Label text="TargetVal"></Label> 
         </Column> 
         <Column width="30%"> 
          <Label text="Description"></Label> 
         </Column> 
        </columns> 
        <items> 
         <ColumnListItem> 
          <cells> 
           <ObjectIdentifier title="{key}"></ObjectIdentifier> 
          </cells> 
          <Text text="{currentVal}"></Text> 
          <Text text="{operator} {targetVal}"></Text> 
         </ColumnListItem> 
        </items> 
       </Table> 
      </content> 
     </Page> 
    </pages> 
</App> 

Main.controller.js

sap.ui.define([ 
"sap/ui/core/mvc/Controller", 
"sap/ui/model/json/JSONModel" 
], function(Controller , JSONModel) { 
"use strict"; 

return Controller.extend("App.controller.Main", { 

    onInit : function() { 

     this.getView().setModel(new JSONModel({ 
      callbackData: [] 
     })); 

    }, 

    setTableData : function() { 
     var here = this; 
     $.ajax({ 
      url : '../../test.xsjs', 
      type : "GET", 
      success : function(data) { 
       here.getView().getModel().setProperty("/callbackData", data); 
      } 
     }); 
    } 
}); 
}); 

在此先感謝!

+0

//試試這個。 this.getView()。setModel(new sap.ui.model.json.JSONModel({callbackData:[] })); –

+1

@suryabhanmourya這不是真正的解決方案。解析''sap/ui/model/json/JSONModel'',因此使用沒有全局命名空間的模塊應該可以工作。在@ user7715132的代碼中可能還沒有提供其他內容,這可能沒有提供。 – boghyon

回答

0
var oModel = new JSONModel({ 
        callbackData: [] 
       }); 

this.getView().setModel(oModel); 
+1

你可以添加更多的上下文和解釋這個代碼做什麼?你能回答是什麼導致了原始錯誤? –