亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法使用全局模型

無法使用全局模型

暮色呼如 2019-10-12 13:43:34
我在UI5應用程序的Component.js中聲明了一個模型,如下所示init: function() {  sap.ui.core.UIComponent.prototype.init.apply(this);  var oModel1 = new sap.ui.model.json.JSONModel("model/mock.json");  sap.ui.getCore().setModel(oModel1, "oModelForSales");},但onInit除非在視圖上設置模型,否則無法通過控制器內部的任何方法訪問模型:var oModel1 = new sap.ui.model.json.JSONModel("model/routes.json");this.getView().setModel(oModel1);sap.ui.getCore().getModel("oModelForSales")控制器onInit中的日志將模型顯示為,undefined但我能夠在onBeforeRendering處理程序中獲取它。為什么在Component.js中設置的核心模型無法在中訪問onInit?
查看完整描述

2 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

您可以一次嘗試此代碼-


init:function(){

        //sap.ui.core.UIComponent.prototype.init.apply(this);

        var oModel1 = new sap.ui.model.json.JSONModel("model/mock.json");

        sap.ui.getCore().setModel(oModel1,"oModelForSales");

        console.log(sap.ui.getCore().getModel("oModelForSales"));

        sap.ui.core.UIComponent.prototype.init.apply(this);

    },

然后在任何控制器的init方法中嘗試-


console.log(sap.ui.getCore().getModel("oModelForSales"));

我認為sap.ui.core.UIComponent.prototype.init.apply(this);->調用create content方法,并且甚至在定義模型之前就初始化了視圖和控制器,因此未定義為模型。使用我的方法,我們首先創建模型,然后在Component中調用super init方法。


注意@ Admins->我沒有足夠的評論要點,因此添加了答案。


查看完整回答
反對 回復 2019-10-12
  • 2 回答
  • 0 關注
  • 498 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號