如何解决SAPUI5路由报错"The target [...] no viewName defined"
问题根因
报错由路由目标(Target)配置字段名书写错误引发。
你在路由全局配置中已将目标类型设置为View,该类型的Target强制要求通过viewName字段指定需要加载的视图名称,但你在targets节点下为overview、detail两个目标配置视图名时,错误使用了name字段,路由初始化阶段读取不到必填的viewName属性,就会抛出对应错误:
The target overview no viewName defined. - EventProvider sap.m.routing.Target
修复方法
- 打开项目的manifest.json文件,定位到
sap.ui5.routing.targets配置节点 - 将两个目标配置里的
name字段全部替换为viewName,修正后的配置片段如下:
"targets": { "overview": { "id": "overview", "viewName": "Overview" }, "detail": { "id": "detail", "viewName": "Detail" } }
- 保存文件后清空浏览器缓存,重新启动应用即可正常加载路由匹配的视图。
内容的提问来源于stack exchange,提问作者Yaniv Bohbot
相关产品推荐
相关产品推荐

