点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有我的主视图: ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有我的主视图: ...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我有我的主视图:
<列> <栏目> <内容> <标题文本=" Produtos"级别=" H2"/> <项目> <单元格> ProductId}"/> /> <文本text =" {product> Width} x {product> Depth} x {product> Height} {product> DimUnit}"/> CurrencyCode}"/>
和控制器:
sap.ui.define([ './Formatter', 'sap/ui/core/mvc/Controller', 'sap/ui/model/json/JSONModel', " sap/ui/core/UIComponent" ],函数(格式程序,控制器,JSONModel,UIComponent){ "使用严格"; 返回Controller.extend(" sap.suite.ui.commons.demokit.tutorial.icecream.08.controller.ListProducts",{ onInit:函数(){ //在此示例上设置浏览的应用程序的演示模型 var oModel = new JSONModel(sap.ui.require.toUrl(" sap/suite/ui/commons/demokit/tutorial/icecream/08/model/data")+"/products.json"); this.getView()。setModel(oModel," product"); }, onNavButtonPressed:function(){ this.getOwnerComponent()。getRouter()。navTo(" home"); }, onPress:函数(oEvent){ //获取触发此事件的源代码控件 var oItem = oEvent.getSource(); //获取控件的绑定上下文 var oCtx = oItem.getBindingContext(" product"); //获取绑定路径并截断第一个'/',以便在将路径作为导航模式附加到url中时不会引起问题 var sPath = oCtx.getPath()。substr(1); //获取路由器的实例,然后导航到"详细信息视图"。 var oRouter = this.getOwnerComponent()。getRouter(); oRouter.navTo(" Object",{ 路径:encodeURIComponent(sPath) }); } }); });
此外,我可以查看详细信息:
<页面 id =" page" title ="产品详情" showNavButton =" true" navButtonPress ="。onNavBack"> <内容> <属性>
还有详细信息的控制器。
sap.ui.define([ " sap/ui/core/mvc/Controller" ],功能( 控制者 ){ "使用严格"; return Controller.extend(" sap.suite.ui.commons.demokit.tutorial.icecream.08.controller.Object",{ onInit:函数(){ var oRouter = sap.ui.core.UIComponent.getRouterFor(this); //获取路由器 oRouter.getRoute(" Object")。attachPatternMatched(this._onObjectMatched,this); //附加路由器模式 }, _onObjectMatched:函数(oEvent){ //读取作为URL模式一部分传递的路径变量(在路由器配置中定义) var sPath = oEvent.getParameter(" arguments")。path; //在此视图中使用路径在ObjectHeader UI控件上执行元素绑定 this.getView()。byId(" ObjectHeaderID")。bindElement({ 路径:"/"。concat(decodeURIComponent(sPath)), 型号:"产品" }); }, onNavBack:函数(){ this.getOwnerComponent()。getRouter()。navTo(" ListProducts",{},true); } }); });
在manifest.json中:
"路线":[{ " pattern":"", " name":" home", " target":"起始页" },{ " pattern":" processFlow", " name":" processFlow", " target":" processFlow" },{ " pattern":" processFlow2", " name":" processFlow2", " target":" processFlow2" },{ " pattern":" processFlow3", " name":" processFlow3", " target":" processFlow3" },{ " pattern":" PDFViewerEmbedded", "名称":" PDFViewerEmbedded", " target":" PDFViewerEmbedded" },{ " pattern":" ListProducts", " name":" ListProducts", " target":" ListProducts" },{ " pattern":" UploadDownload", " name":" UploadDownload", " target":" UploadDownload" },{ " pattern":" FeedNews", " name":" FeedNews", " target":" FeedNews" },{ " pattern":"对象/{路径}", " name":" Object", " target":" Object" }],
我只是无法将一页绑定到另一页,因此无法在"详细信息"视图中检索数据。
有什么建议吗? 谢谢。
努诺
我明白了,我看到在您的母版页中,模型仅绑定到母版页vview(this.getView()。setModel())。 因此,这就是为什么当您在详细信息页面中使用具有该模型名称的bindElement时,它无法工作的原因,因为该模型仅在母版页中可用。
因此将模型绑定到组件中的组件 母版页。 this.getOwnerComponent()。setModel()
之后,该模型将同时显示在主页面和详细信息页面中。
谢谢,
马哈什
将一页绑定到另一页是什么意思?
感谢Mahesh。 可以。
一周热门 更多>