找不到目标ID-找不到具有ID应用的控件-EventProvider sap.m.routing.Target

2020-09-24 18:30发布

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

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


您好社区,我的问题是,当我单击某个项目时,应该转到详细信息页面,但什么也不做,并且出现此错误:找不到具有ID应用程序的控件-EventProvidersap.m。 routing.Target


这是我的清单配置:

" sap.ui5":{
 " rootView":{
 " viewName":" kauf.databinding.app.view.Main",
 " type":" XML",
 "异步":是的,
 " id":" main"
 },
 "依赖关系":{
 " minUI5Version":" 1.30",
 " libs":{
 " sap.m":{}
 }
 },

 。
 。
 。



 "路由":{
 " config":{
 " routerClass":" sap.m.routing.Router",
 " viewType":" XML",
 " viewPath":" kauf.databinding.app.view",
 " controlId":" app",
 " controlAggregation":"页面",
 "异步":true
 },
 "路线":[
 {
 " pattern":"",
 " name":" main",
 " target":" main"
 },
 {
 " pattern":"",
 " name":"详细信息",
 " target":"详细信息"
 }
 ],
 "目标":{
 "主要":{
 " viewID":" main",
 " viewName":"主要"
 },
 "详细信息":{
 " viewId":"详细信息",
 " viewName":"详细信息"
 }
 }
 

app.view

 
 
 
 

main.view

 
 
 <页面>
 <页面>
 <内容>
 
 
 
 
 
 
 

listinvoice.view

 


 /发票",
       分类器:{
       路径:" ShipperName",
       降序:false,
       组:真实
       }
       }">
      
       
       <工具栏标题=" {i18n> invoiceListTitle}">
       
       
 
       

 <项目>
 
 
 状态",
 formatter:'.formatter.statusText'}"/> <!-un"。" delante del formatter具有实际意义,而实际的控制权->
 
 
 

 



 
 

和我的listinvoice.controller

 sap.ui.define([
 " sap/ui/core/mvc/Controller",
 " sap/ui/model/json/JSONModel",
 " kauf/databinding/app/model/formatter",
 " sap/ui/model/Filter",
 " sap/ui/model/FilterOperator"
 ],函数(控制器,JSONModel,格式化程序,过滤器,FilterOperator){
 "使用严格";

 返回Controller.extend(" kauf.databinding.app.controller.ListInvoice",{
 formatter:formatter,////远景不可见
 onInit:function(){
 var oViewModel = new JSONModel({
 货币:" EUR"
 });
 this.getView()。setModel(oViewModel," view");
 },

 onBuscarFiltro:function(oEvent){//LE pasamos un argunmento porque es un eventhandler
 var oArray = []; //Creamos un array vacio que nos servira de filtro luego
 var sQuery = oEvent.getParameter(" query"); //Obtenemos por paradiotro查询报名问题
 if(sQuery){//正确(无真空)
 oArray.push(new Filter(" ProductName",FilterOperator.Contains,sQuery)); //新的过滤器和数组
//que filtrara por nombre和el parametro查询
 }

 var oList = this.byId(" listaInvo"); //Obtenemos la lista por id
 var oBinding = oList.getBinding(" items"); //Obtenemos los items asociados a esa lista
 oBinding.filter(oArray); //Le pasamos a esos items el filtro
 },
 onPress:函数(oEvent){
//var oItem = oEvent.getSource();
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.navTo(" detail");
 }
 });
 });
 

我试图将我的rootview更改为App,但仍然无济于事,我正在按照sapui演示工具包的教程进行操作,因此我所做的一切都非常相似,但是却得到了错误

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

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


您好社区,我的问题是,当我单击某个项目时,应该转到详细信息页面,但什么也不做,并且出现此错误:找不到具有ID应用程序的控件-EventProvidersap.m。 routing.Target


这是我的清单配置:

" sap.ui5":{
 " rootView":{
 " viewName":" kauf.databinding.app.view.Main",
 " type":" XML",
 "异步":是的,
 " id":" main"
 },
 "依赖关系":{
 " minUI5Version":" 1.30",
 " libs":{
 " sap.m":{}
 }
 },

 。
 。
 。



 "路由":{
 " config":{
 " routerClass":" sap.m.routing.Router",
 " viewType":" XML",
 " viewPath":" kauf.databinding.app.view",
 " controlId":" app",
 " controlAggregation":"页面",
 "异步":true
 },
 "路线":[
 {
 " pattern":"",
 " name":" main",
 " target":" main"
 },
 {
 " pattern":"",
 " name":"详细信息",
 " target":"详细信息"
 }
 ],
 "目标":{
 "主要":{
 " viewID":" main",
 " viewName":"主要"
 },
 "详细信息":{
 " viewId":"详细信息",
 " viewName":"详细信息"
 }
 }
 

app.view

 
 
 
 

main.view

 
 
 <页面>
 <页面>
 <内容>
 
 
 
 
 
 
 

listinvoice.view

 


 /发票",
       分类器:{
       路径:" ShipperName",
       降序:false,
       组:真实
       }
       }">
      
       
       <工具栏标题=" {i18n> invoiceListTitle}">
       
       
 
       

 <项目>
 
 
 状态",
 formatter:'.formatter.statusText'}"/> <!-un"。" delante del formatter具有实际意义,而实际的控制权->
 
 
 

 



 
 

和我的listinvoice.controller

 sap.ui.define([
 " sap/ui/core/mvc/Controller",
 " sap/ui/model/json/JSONModel",
 " kauf/databinding/app/model/formatter",
 " sap/ui/model/Filter",
 " sap/ui/model/FilterOperator"
 ],函数(控制器,JSONModel,格式化程序,过滤器,FilterOperator){
 "使用严格";

 返回Controller.extend(" kauf.databinding.app.controller.ListInvoice",{
 formatter:formatter,////远景不可见
 onInit:function(){
 var oViewModel = new JSONModel({
 货币:" EUR"
 });
 this.getView()。setModel(oViewModel," view");
 },

 onBuscarFiltro:function(oEvent){//LE pasamos un argunmento porque es un eventhandler
 var oArray = []; //Creamos un array vacio que nos servira de filtro luego
 var sQuery = oEvent.getParameter(" query"); //Obtenemos por paradiotro查询报名问题
 if(sQuery){//正确(无真空)
 oArray.push(new Filter(" ProductName",FilterOperator.Contains,sQuery)); //新的过滤器和数组
//que filtrara por nombre和el parametro查询
 }

 var oList = this.byId(" listaInvo"); //Obtenemos la lista por id
 var oBinding = oList.getBinding(" items"); //Obtenemos los items asociados a esa lista
 oBinding.filter(oArray); //Le pasamos a esos items el filtro
 },
 onPress:函数(oEvent){
//var oItem = oEvent.getSource();
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.navTo(" detail");
 }
 });
 });
 

我试图将我的rootview更改为App,但仍然无济于事,我正在按照sapui演示工具包的教程进行操作,因此我所做的一切都非常相似,但是却得到了错误

付费偷看设置
发送
2条回答
clever101
1楼 · 2020-09-24 19:04.采纳回答

当您将rootView更改为App时,是否遇到相同的错误? 我发现在您的路线设置中,您两次使用了初始模式(""):

"路线":[
 {
 " pattern":"",
 " name":" main",
 " target":" main"
 },
 {
 " pattern":"",
 " name":"详细信息",
 " target":"详细信息"
 }
 ],
歪着头看世界
2楼-- · 2020-09-24 19:10

是,App视图的工作原理类似于容器。

您的rootView可以具有与route config不同的名称,基本上,路由器会根据哈希模式将定义的视图加载到路由目标中(例如https://myappPath/#/details将使用"详细信息"为路由定义目标视图 "模式"并将其放入已在路由器配置中定义了ID(" controlId":" app")的控件中,此控件必须在您的rootApp中定义。

一周热门 更多>