点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我已经阅读了几篇有关使用Global模型的文章,并且似乎有许多方法可以做到这一点,无论是对还是错。 我现在避免在清单中定义我的模型,而是选择直接在component.js中定义它。 我正在使用的代码如下:
在component.js的onInit中:
//var oModel1 = new sap.ui.model.json.JSONModel(" model/Testmodel.json"); var oData = {测试:{名称:"世界"}}; var oModel1 = new sap.ui.model.json.JSONModel(oData); sap.ui.getCore()。setModel(oModel1," oModelTest");
在View Controller.js中,我在onInit函数中包含以下代码:
var oModel = sap.ui.getCore()。getModel(" oModelTest");
但是,在调试中进行监视时,oModel显示为未定义。 它不会出错。 我还尝试使用变量oModel1,因为有人提到名称在set/get的两端应该相同。 但是可惜是同样的问题。
有人提到理想情况下,我们不应使用核心来设置/获取全局模型。 我很高兴看到如何使它工作,并且在可能的情况下不使用内核。
如果任何人都可以使用,我将不胜感激一些演示代码。
最诚挚的问候
使用this.getView()。setModel(ModelName," ModelName")
您可以在 plunkr.co 吗?
要从视图获取模型数据,请使用this.getView()。getModel(" MODELNAME")[具有相同的view->控制器]
外部或其他控制器->使用this.getView()。byId(" ID")。getModel(" ModelName")
请不要使用" sap.ui.getCore ().getModel()"。 而是在清单中定义模型。 您可以使用" this.getOwnerComponent()。getModel()"从每个视图的控制器清单中访问所有模型
在每个控制器中,您还可以使用" this.getView"创建其他模型 ().setModel()"和" this.getView()。getModel()"。
希望有帮助。
亲切的问候,
Wouter
在这种情况下,如何从浏览器控制台访问模型以进行调试? " this"是指浏览器窗口。
我设法找到了可行的解决方案,但是老实说,我对使用该内核并不满意。 这是我的工作。
在component.js中
//测试模型
在我的控制器中,我有:
现在可以使用,但是如上所述,我想避免使用内核。
有人吗?
尝试
您的代码 看起来还可以 但是通常我们不使用core ....
在component.js中。 this.setModel,此存储的模型将可用于所有视图。
一周热门 更多>