sap.ui.core.UIComponent.getRouterFor不是一个函数

2020-09-26 13:25发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我试图从视图1(AM...

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

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


大家好,

我试图从视图1(AMR.view.xml)导航到视图2(MyAMR.view.xml)。 每当我触发导航时,就会发生以下错误:

sap.ui.core.UIComponent.getRouterFor不是fafireEvent(

我也尝试使用 this.getOwnerComponent()。getRouter()方法,但是发生未定义的错误。

Component.js

 sap.ui.define([
 " sap/ui/core/UIComponent"
 ],函数(UIComponent){
 "使用严格";


 返回UIComponent.extend(" Component",{


 元数据:{
 路由:{
 配置:{
 routerClass:" sap.m.routing.Router",
 viewType:" XML",
 viewPath:" erpmainpage",
 controlId:"应用",
 controlAggregation:"页面",
 过渡:"幻灯片"
 },
 路线:[{
 模式:"",
 名称: "",
 目标:"索引"
 },{
 模式:" myActivities",
 名称:" myAMR",
 目标:" myAMR"
 }],
 目标:{
 索引:{
 viewName:" AMR",
 viewLevel:0,
 过渡:"翻转"
 },
 myAMR:{
 viewName:" MyAMR",
 viewLevel:1,
 过渡:"翻转"
 }
 }
 }
 },


 初始化:函数(){
 UIComponent.prototype.init.apply(this,arguments);
 this.getRouter()。initialize();
 }


 });


 });


 

AMR.controller.js

 sap.ui.define([
            " erpmainpage/BaseController"
            ],函数(BaseController){
            "使用严格";


            return BaseController.extend(" erpmainpage.AMR",{


            onInit:function(){
            var oModel = new sap.ui.model.json.JSONModel();
           //在模型中加载JSON
            oModel.loadData(" json/AMR.json");
            this.getView()。setModel(oModel);
            },
           
            onTilePressed:function(oEvent){
            var oItem,oCtx;


            oItem = oEvent.getSource();
            oCtx = oItem.getBindingContext();


            this.getRouter()。navTo(" MyAMR",{


            });


            }
            });


 });


 

BaseController.js

 sap.ui.define([
            " erpmainpage/BaseController"
            ],函数(BaseController){
            "使用严格";


            return BaseController.extend(" erpmainpage.AMR",{


            onInit:function(){
            var oModel = new sap.ui.model.json.JSONModel();
           //在模型中加载JSON
            oModel.loadData(" json/AMR.json");
            this.getView()。setModel(oModel);
            },
           
            onTilePressed:function(oEvent){
            var oItem,oCtx;


            oItem = oEvent.getSource();
            oCtx = oItem.getBindingContext();


            this.getRouter()。navTo(" MyAMR",{


            });


            }
            });


 });


 

index.html

 <!DOCTYPE HTML>
 
 <头>
 
 


 
 <!-仅加载移动库" sap.m"和" sap_bluecrystal"主题->


 <脚本>
 sap.ui.localResources(" erpmainpage");
 var app = new sap.m.App(" erpMainPageApp",{initialPage:" idLoginPage"});
 var mainpage = sap.ui.view({id:" idMainPage1",viewName:" erpmainpage.MainPage",键入:sap.ui.core.mvc.ViewType.XML});
 var loginpage = sap.ui.view({id:" idLoginPage",viewName:" erpmainpage.LoginPage",键入:sap.ui.core.mvc.ViewType.XML});
 app.setBackgroundColor(" Black");
 app.addPage(mainpage);
 app.addPage(loginpage);
 app.placeAt(" content");
 
 <脚本>
 sap.ui.getCore()。attachInit(function(){
 新的sap.ui.core.ComponentContainer({
 高度:" 100%",
 名称 : ""
 })。placeAt(" content");
 });
 
 
 
 
 

我已经尝试搜索类似的问题,但是似乎所有提出的问题都没有得到解决。 任何支持将不胜感激。 谢谢!

1条回答
槿木_熙
2020-09-26 14:05 .采纳回答

嗨,

请共享您的manifest.json文件。

还有一件事,您的基本控制器没有从sap/ui/core/mvc/Controller扩展,如下所示。 请检查。

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


 return Controller.extend(" com.test.controller.BaseController",{
 

一周热门 更多>