所以我们确定sap核心中的内容:
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/core/routing/History",
"sap/ui/model/json/JSONModel"
], function (Controller,History,JSONModel)
我的应用程序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
。
虽然道路看起来很合适。截图中附有项目结构。
我无法理解是否有可能以这种方式识别控制器?
答案 0 :(得分:1)
你必须使用
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
函数搜索文件,但不知道此约定。它不知道你这次要加载一个控制器。
答案 1 :(得分:0)
试
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"}'>
)