点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我在绑定模型数据时遇到问题,
问题是,当我对表中的一项感到好奇时,将其路由到"详细信息"视图,甚至我的uri也正在更改。 例如:如果我对第一项感兴趣但未打印信息,则转到http://localhost:57936/PruebaKaufmann/index.html#/detail/0。 可能是什么? (我正在使用罗斯文的odata)
如果我选择第一项,应该打印什么
" ID":0, "名称":"面包", "描述":"全麦面包", " ReleaseDate":"/img/Date(694224000000)/", " DiscontinuedDate":null, "评分":4 "价格":" 2.5",
这是我的view1(Main.xml)
<列> <栏目>
<栏目> <栏目> <项目> <单元格>
这是它的控制器
onInit:function(){ var sURI =" http://services.odata.org/V2/OData/OData.svc"; var oDataModel = new ODataModel(sURI,true); var oModel = new JSONModel(); var oTable = this.byId(" miTabla"); oDataModel.read("/img/Products",{ 成功:函数(oData,响应){ var oResults = oData.results; oModel.setData(oResults); oTable.setModel(oModel); } }); }, onSelectionChange:function(oEvt){ var item = oEvt.getParameter(" listItem"); item.firePress(); }, itemPress:function(oEvent){ var sId = oEvent.getSource()。getBindingContext()。getProperty(" ID"); this.getOwnerComponent()。getRouter() .navTo(" detail", {Id:sId}); }, algunEvento:function(){ MessageToast.show(" Bienvenido a Kaufmann"); }
这是我的第二个观点(详细信息)
和以上视图的控制器:
onInit:function(){ this.getOwnerComponent()。getRouter()。getRoute(" detail")。attachPatternMatched(this._onRouteMatched,this); }, _onRouteMatched:function(oEvent){ var Id = oEvent.getParameter(" arguments")。Id; this.getView()。bindElement("/img/Id/" + ID); }, onNavBack:function(){ var oHistory = sap.ui.core.routing.History.getInstance(), sPreviousHash = oHistory.getPreviousHash(); 如果(sPreviousHash!==未定义){ //历史记录包含上一个条目 history.go(-1); } }
最后但并非最不重要的是我的清单:
"路由":{ " config":{ " routerClass":" sap.m.routing.Router", " viewType":" XML", " viewPath":" prueba.kaufmann.view", " controlId":" app", " controlAggregation":"页面", "异步":是的, " transition":" slide" }, "路线":[ { " pattern":"", " name":" Main", " target":" Main" }, { " pattern":" detail/:Id:", " name":"详细信息", " target":"详细信息" } ], "目标":{ "主要":{ " viewId":" main", " viewName":"主要" }, "详细信息":{ " viewId":"详细信息", " viewName":"详细信息" } }
您的bind元素需要整个上下文路径,而不仅仅是ID。 您可以自己在控制器中构造它,也可以从itemPress事件中传递它
您需要构造整个路径,而不是所有数据。 也许看看教程中的例子。
一周热门 更多>