我对UI5非常陌生,我正在研究一个应用程序,该应用程序需要我根据浏览器(客户端)提出的请求创建模型。 如果我事先使用了所有的odata服务&根据所做的请求使用它们,那么它会变得太重而不必要。 有什么办法,这可以动态地完成吗?如何使用odata服务从manifest.json动态创建模型
1
A
回答
1
我认为你的问题标题和问题内容可能是相互矛盾的,所以我将我的建议分开。
如何使用OData的服务,从manifest.json的
在你的manifest.json文件动态地创建模型,找到“sap.app”节/属性,然后添加一个数据源,如下所示:
"dataSources": { //used data sources -> ui5-related information stored in sap.ui5 namespace (unique inside the app)
"modelalias": { //key is alias which is used below in e.g. sap.ui5 ...
"uri": "/sap/opu/odata/snce/PO_S_SRV;v=2/" , //mandatory; version is part of uri, e.g. ";v=2", default is 1
"type": "OData" , //OData (default)|ODataAnnotation|INA|XML|JSON
"settings": { //data-source-type-specific attributes (key, value pairs)
"odataVersion": "2.0" , //possible values: 2.0 (default), 4.0
"annotations": [ "equipmentanno" ], //filled e.g. for Smart Template
"localUri": "model/metadata.xml" //relative url to local metadata
"maxAge": 360 //time in seconds
}
}
实例化这个模型以别名“为MyModel”,您可以在“sap.ui5”如下一个条目添加到在manifest.json:
"models": {
...
"mymodel": { //empty string "" is the default model
"preload": true; //indicator that the model will be created immediately after the manifest is loaded by component factory and before the component instance is created
"dataSource": "modelalias", //reference of dataSource under sap.app - only enhance it with more settings for UI5 if needed
"settings": {
}
}
},
现在清单文件将根据您的odata uri在“datasources”中实例化“mymodel”,然后将模型设置到您的Component.js中。您的应用程序启动,这样的情况下,你可以使用访问模型中的任何控制器:
this.getOwnerComponent().getModel("mymodel")
如果我消耗所有事先&的OData的服务,根据 的要求而作出使用它们,就会显得过于沉重不必要的。有没有任何 的方式,这可以做到动态?
您的假设是创建模型会减慢应用程序的启动速度。因为这可能并不总是正确的:
- 该模型的创建是非常快的
- 读取数据就是需要时间和模型实例
- ODataModels做工asyncronously被默认所以调用.read或.WRITE的操作是可以异步管理
特殊情况:如果您希望事先(在启动时)预先获取所有数据,我会建议您确保使用过滤器,如$ select,$ top和$ skip在您的网关服务实施增长列表的行为。
希望能帮到你。 Link
- 更多信息
相关问题
- 1. 如何使用PHP创建Odata服务?
- 2. 如何为SAPUI5 TreeTable创建OData服务?
- 3. 模型动态创建 - 使用Asp.Net MVC
- 4. 如何动态创建模型
- 5. 如何创建数据模型动态
- 6. 如何动态创建Django模型
- 7. 如何从odata服务返回嵌套的实体模型
- 8. 如何创建regularExpressionAttribute动态模式从模型属性
- 9. 动态创建视图从模型+ MVC4
- 10. 动态创建Web服务动态Web服务调用器
- 11. 创建动态WCF服务?
- 12. 如何使用动态创建的模型调用模型方法
- 13. 如何在模型更改时防止OData服务调用
- 14. 使用RESTlet创建OData服务使用RESTlet
- 15. 动态创建服务参考和使用服务
- 16. 如何创建批处理端点用于asp.net OData web服务
- 17. 如何从服务器控件动态创建ModalPopupExtender控件?
- 18. 如何在RIA服务中使用OData
- 19. Wintersmith的服务/manifest.json
- 20. 如何使用任何/所有过滤器创建OData v3服务
- 21. 服务结构有状态OData服务
- 22. 如何从ADO.net模型动态创建动态数据传输对象
- 23. 使用jquery动态创建模态
- 24. 使用angular2创建动态模态
- 25. Sapui5:我怎样才能检索到的OData动态使用的manifest.json
- 26. SAP Build(原型) - OData服务
- 27. 如何创建动态Uikit模态[Joomla]
- 28. 异常的OData服务使用动态特性
- 29. 如何在android上创建访问OData服务的代理
- 30. 如何在数据服务(OData)中创建计算属性?