在sapui5应用程序的2个视图之间导航

2020-09-29 22:00发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我只是在SAPUI5中的2个视图之间导航。 我看到有很多可用的线程可以解决。 但是,即使我一步一步地遵循相同的步骤,也无法从view1导航到view2。 总是低于错误。

extended_runnable_file.html]找不到带有ID应用程序的控件-EventProvider sap.ui.core.routing.Target-查看下面的代码,这些代码正在Web IDE中尝试执行。

有人可以一步一步地提供文件来做同样的事情。

 manifest.json

 "路由":{
 " config":{
 " routerClass":" sap.m.routing.Router",
 " viewPath":" firstApplication.view",
 " controlId":" app",
 " controlAggregation":"页面",
 " transition":" fade"
 },
 "路线":[{
 " name":" home",
 " pattern":"",
 " titleTarget":"",
 " view":" View1",
 "贪婪":false
 },{
 " name":" next",
 " pattern":" next",
 " titleTarget":"",
 " view":" View2",
 "贪婪":false
 }]


 
 View1.controller.js

 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
 "使用严格";


 return Controller.extend(" firstApplication.controller.View1",{
 onPress:function(){
 this.getOwnerComponent()。getRouter()。navTo(" next");
 }
 });
 });
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我只是在SAPUI5中的2个视图之间导航。 我看到有很多可用的线程可以解决。 但是,即使我一步一步地遵循相同的步骤,也无法从view1导航到view2。 总是低于错误。

extended_runnable_file.html]找不到带有ID应用程序的控件-EventProvider sap.ui.core.routing.Target-查看下面的代码,这些代码正在Web IDE中尝试执行。

有人可以一步一步地提供文件来做同样的事情。

 manifest.json

 "路由":{
 " config":{
 " routerClass":" sap.m.routing.Router",
 " viewPath":" firstApplication.view",
 " controlId":" app",
 " controlAggregation":"页面",
 " transition":" fade"
 },
 "路线":[{
 " name":" home",
 " pattern":"",
 " titleTarget":"",
 " view":" View1",
 "贪婪":false
 },{
 " name":" next",
 " pattern":" next",
 " titleTarget":"",
 " view":" View2",
 "贪婪":false
 }]


 
 View1.controller.js

 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
 "使用严格";


 return Controller.extend(" firstApplication.controller.View1",{
 onPress:function(){
 this.getOwnerComponent()。getRouter()。navTo(" next");
 }
 });
 });
 
付费偷看设置
发送
3条回答
Bunny_CDM
1楼 · 2020-09-29 22:46.采纳回答

我们正在使用以下项目结构

名称空间:" com.demo.day3"

在manifest.json中,我们定义以下参数–

请注意,我们需要rootView定义,rootview中应用程序的ID被视为controlID

" sap.ui5":{
 " _version":" 1.1.0",
 " rootView":{
 " viewName":" com.demo.day3.view.App",
 " type":" XML"
 },

 "路由":{
 " config":{
 " routerClass":" sap.m.routing.Router",
 " viewPath":" com.demo.day3.view",
 " controlId":" app",
 " controlAggregation":"页面"
 },
 "路线":[{
 " name":" View1",
 " pattern":"",
 " target":[" View1"]
 },{
 " name":" View2",
 " pattern":" toView2/{param1}",
 " target":[" View2"]
 }],
 "目标":{
 " View1":{
 " viewType":" XML",
 " transition":" slide",
 " viewName":" View1",
 " viewLevel":0,
 " controlAggregation":"页面"
 },
 " View2":{
 " viewType":" XML",
 " transition":" slide",
 " viewName":" View2",
 " viewLevel":1
 " controlAggregation":"页面"
 }
 }
 }
 }
 

要注意的另一点是,路由中定义的目标是指定义的目标。

将组件中的路由初始化为:this.getRouter()。initialize();

这就是您应该进行路由选择的好方法,

如果您希望在两个视图之间导航,请使用以下代码:

 this.getOwnerComponent()。getRouter()。navTo(" ROUTENAME");
//ROUTENAME =在manifest.json中为路由定义的名称。
 
槿木_熙
2楼-- · 2020-09-29 22:43

谢谢Viplove,我已经有了这个视图,仍然无法执行导航。 但是,上面的代码对我有用。

CPLASF-自律
3楼-- · 2020-09-29 22:35

您好 CHENGALARAYULU

实际上是您的 错误似乎表明您缺少在App.view.xml(根视图)中为id为" app"的App控件提供

只需检查您的App.view.xml文件类似的代码就应该存在:/p>

感谢

唯爱

一周热门 更多>