繁体   English   中英

如何在SAP UI中的控制器中定义自定义控制器?

[英]How i can define custom controller in my controller in sap ui?

因此,我们确定树液核心中包含什么:

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/ui/core/routing/History",
    "sap/ui/model/json/JSONModel"
], function (Controller,History,JSONModel) 

我的SAP应用ID: "sap.ui.test ”。

所以我想将控制器连接到已经存在的控制器上:

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/ui/core/routing/History",
    "sap/ui/model/json/JSONModel",
    "sap/ui/test/webapp/controller/TopMenu"
], function (Controller,History,JSONModel,TopMenu)

我得到一个错误: Error: failed to load 'sap/ui/test/webapp/controller/TopMenu.js 虽然这条路看起来不错。 屏幕快照中随附的项目结构。

我不明白是否可以通过这种方式识别控制器?

在此处输入图片说明

您将不得不使用

sap.ui.define([
   "sap/ui/core/mvc/Controller",
   "sap/ui/core/routing/History",
   "sap/ui/model/json/JSONModel",
   "sap/ui/test/controller/TopMenu.controller"
], function (Controller,History,JSONModel,TopMenu)

那是因为旧的控制器命名约定:您的控制器必须命名为ABC.controller.js sap.ui.define函数搜索文件,并且不了解此约定。 它不知道您这次是否要加载控制器。

尝试

sap.ui.define([ "sap/ui/core/mvc/Controller", "sap/ui/core/routing/History", "sap/ui/model/json/JSONModel", "sap/ui/test/controller/TopMenu" ], function (Controller,History,JSONModel,TopMenu)

您无需告诉您的应用确切路径,您已经在Index.html中完成了此操作

(类似于data-sap-ui-resourceroots='{"sap.ui.test": "sap/ui/test/webapp"}'> ))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM