使用SAP Web IDE,我已从主/明细模板创建了一个新应用程序。该应用程序使用最初创建的视图。现在我想添加另一个名为“FileDetail”的视图加载到详细信息窗口。我已将视图添加到路线:
routing: {
config: {
routerClass: FileUtility.MyRouter,
viewType: "XML",
viewPath: "FileUtility.view",
targetAggregation: "detailPages",
clearTarget: false
},
routes: [
{
pattern: "",
name: "main",
view: "Master",
targetAggregation: "masterPages",
targetControl: "idAppControl",
subroutes: [
{
pattern: "{file}",
name: "fileDetail",
view: "FileDetail"
},
{
pattern: "{entity}/:tab:",
name: "detail",
view: "Detail",
subroutes: [
]
}
]
},
{
name: "catchallMaster",
view: "Master",
targetAggregation: "masterPages",
targetControl: "idAppControl",
subroutes: [
{
pattern: ":all*:",
name: "catchallDetail",
view: "NotFound",
transition: "show"
}
]
}
]
}
(我知道这不对,但我只是试图强制它加载页面)当我的功能
onFileSelect: function(oEvent) {
this.getRouter().navTo("fileDetail", {
from : "detail",
file: oEvent.getSource().getBindingContext().getPath().slice(1)
}, true);
},
被称为我在JS控制台中出错
Uncaught Error: failed to load 'view/FileDetail.controller.js' from resources/view/FileDetail.controller.js: 404 - Resource could not be found!
我在FileDetail.controller.js和FileDetail.view.xml中添加的唯一文件以及添加了新视图向导的文件
谢谢你的帮助!
我的问题出在视图的命名空间中。当我创建应用程序时,我输入了命名空间,当我创建视图时,我被要求提供视图的命名空间但没有提供任何命名空间。
我通过将我的命名空间添加到FileDetail.controller.js来修复它
旧
sap.ui.controller("view.FileDetail", {
新
sap.ui.controller("FileUtility.view.FileDetail", {
并在FileDetail.view.xml中
旧
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
controllerName="view.FileDetail"
>
新
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
controllerName="FileUtility.view.FileDetail"
>