当前位置: 首页 > Web前端 > HTML

SAPUI5动态页面路由进阶用法:路由记录路由和target一对多关系试用版

时间:2023-03-28 15:08:02 HTML

一套适合SAPUI5初学者的循序渐进学习教程教程目录SAPUI5本地开发环境搭建SAPUI5应用开发教程一:HelloWorldSAPUI5应用开发教程二:SAPUI5bootstrapBootstrapSAPUI5应用开发教程三:接触第一个SAPUI5控件SAPUI5应用开发教程四:XML视图初探SAPUI5应用开发教程五:ViewController初探SAPUI5应用开发教程六——理解SAPUI5的模块(Module)概念SAPUI5应用开发教程七——JSON模型初探SAPUI5应用开发教程八——多语言支持SAPUI5应用开发教程九——创建第一个ComponentSAPUI5ApplicSAPUI5应用开发教程十-什么是DescriptorSAPUI5应用开发教程十一:SAPUI5容器控制页面和面板SAPUI5应用开发教程十二-使用CSS类进一步美化UISAPUI5应用开发教程十三-如何添加自定义CSS类SAPUI5应用程序开发教程14-如何使用嵌入式视图SAPUI5应用程序开发教程15-对话框和片段如何使用SAPUI5应用程序开发教程16-使用图标IconSAPUI5应用程序开发教程17-UI5中的聚合绑定复合控件使用SAPUI5应用开发教程18-SAPUI5数据绑定语法特殊符号,以及绝对绑定和相对绑定的概念详解SAPUI5应用开发教程十九-SAPUI5数据类型和复杂数据绑定SAPUI5应用开发教程二十-表达式绑定使用SAPUI5ExplainSAPUI5applicationdevelopment教程21-SAPUI5的CustomFormatterCustomFormatterSAPUI5应用程序开发教程22-filter过滤器开发和使用SAPUI5应用程序开发教程23-列表控件的排序SortandgroupbyGroupSAPUI5应用开发教程24-如何使用OData数据模型SAPUI5应用开发教程25-使用代理服务器解决SAPUI5应用访问远程OData服务的跨域问题SAPUI5应用开发教程26-OData详解Mock服务器使用服务步骤SAPUI5应用开发教程27-SAPUI5应用单元测试工具QUnit介绍SAPUI5应用开发教程28-OPA,SAPUI5应用集成测试工具SAPUI5应用开发介绍Tutorial29-SAPUI5RoutingandNavigationFunctionIntroductionSAPUI5ApplicationDevelopmentTutorial30-SAPUI5RoutingProcess中的ParameterTransferSAPUI5ApplicationDevelopmentTutorial31-SAPUI5RoutingHistoryandRoutingBackBack(路由回溯和历史)SAPUI5应用开发教程第32部分-如何创建自定义SAPUI5控件SAPUI5应用程序开发教程第三十三篇-SAPUI5应用开发的响应式SAPUI5应用开发教程三十四-SAPUI5应用基于设备类型页面适配功能(设备适配)SAPUI5应用开发教程三十五-如何部署本地开发的SAPUI5应用到ABAPServerSAPUI5应用开发教程三十六-使用Chrome开发者工具Elements选项卡动态修改CSS类SAPUI5应用开发教程37-使用Chrome开发者工具Console面板进行元素审核SAPUI5应用开发教程38-使用Chrome开发者工具在程序执行出错时查看上下文信息SAPUI5应用开发教程39-SAPUI5应用中白屏的一些常见错误及分析方法分享SAPUI5应用开发教程40-如何制作组件-preload.jsSAPUI5的发布版本,包括SAPUI5Applica开发教程第41期-Chrome扩展UI5Inspector离线安装使用SAPUI5应用开发教程第42期-SAPUI5自带诊断打断工具使用介绍SAPUI5应用开发教程第43期-SAPUI5自带的SupportAssistant工具使用介绍SAPUI5应用开发教程第44期-水平对齐不足的原因分析及解决方法LabelandInputcontroltextSAPUI5应用程序开发教程四十五-如何在SAPUI5应用程序中使用jQuery和原生DOMAPISAPUI5应用程序开发教程四十六-使用MessageManager实现开箱即用验证(validation)信息抛出SAPUI5应用开发教程47-如何自定义SAPUI5字符串类型输入字段的验证逻辑SAPUI5应用开发教程48-如何在SAPUI5应用中开发条码扫描功能SAPUI5应用开发教程49-如何实现在桌面电脑上调试手机运行的SAPUI5应用SAPUI5应用开发教程50-如何使用Cordova将SAPUI5应用程序生成为可安装在Android手机上的混合应用程序SAPUI5应用程序开发教程51-如何使用Chrome调试运行在手机上的SAPUI5Cordova混合应用程序SAPUI5应用程序开发教程50-二-如何使用SAPUI5标准控件结合Cordova插件调用手机摄像头进行条码扫描SAPUI5应用开发教程五十三-如何自定义SAPUI5数据类型(DataType)SAPUI5应用开发教程54-如何配置本地SAPUI5应用到本地FioriLaunchpadSAPUI5应用开发教程55-如何使用本地SAPUI5应用通过Node.jsExpress部署到公网。SAPUI5应用开发教程第56期-SAPUI5树控件(树)的开发SAPUI5应用开发教程第57期-基于OData注解的智能字段使用方法学习SAPUI5应用开发教程五十八-使用工厂方法在运行时动态创建不同类型的列表行项目控件SAPUI5应用程序开发教程五十九-如何在SAPUI5应用程序中显示世界地图SAPUI5应用程序开发教程六-SAPUI5地图控件的一些高级用法SAPUI5应用开发教程六十一-SAPUI5应用中绘制甘特图GanttChartSAPUI5应用开发教程六十二-基于ODataV4SAPUI5的SAPUI5表单控件使用介绍应用开发教程第63期-深入介绍基于ODataV4实现本地MockServerSAPUI5应用开发教程第64期-如何在SAPUI5表格控件中实现过滤(filtering)和排序(sorting)基于ODataV4FunctionalSAPUI5应用程序开发教程六十五-如何实现SAPUI5窗体控件的创建、编辑和保存功能基于ODataV4SAPUI5应用程序开发教程六十六-如何实现删除功能SAP基于ODataV4的UI5表单控件UI5应用开发教程第67期-基于ODataV4的SAPUI5List-Detail(列表-详细信息)布局SAPUI5Applicatio的实现n开发教程第68期-如何在SAPUI5路由失败时显示自定义NOTFoundSAPUI5应用开发教程第69页-如何从SAPUI5NotFound页面跳转回正常应用页面SAPUI5应用开发教程70-如何使用按钮控件触发页面路由跳转SAPUI5应用开发教程七十一-SAPUI5页面的嵌套路由SAPUI5应用开发教程七十二-SAPUI5页面路由的动画效果设置七十三应用开发教程-使用自定义查询实现SAPUI5页面路由的书签功能SAPUI5应用开发教程七十四-SAPUI5应用使用ODataV4显示Table表单数据的陷阱SAPUI5应用开发教程七十五-如何使用SAPUI5主从表联动技术显示复杂表内容SAPUI5应用开发教程第76期-如何实现tSAPUI5的LazyLoading(延迟加载,延迟加载)关系描述je2014年加入SAP成都研究院CRMFiori开发团队后,rry接触到了SAPUI5。在SAP社区和“王子熙”微信公众号发表多篇SAPUI5工作原理和源码分析文章。对SAPUI5一窍不通的新手,入门学习哪些资料比较好?之前说过,Jerry也是从一个SAPUI5菜鸟一路走来的。他知道,对于一个只有ABAP开发背景的开发人员来说,要转型到SAPUI5开发领域并不容易。因此,我在业余时间设计了这个适合SAPUI5初学者的学习教程,把开发一个完整的SAPUI5应用程序的过程拆分成几个步骤,力求涵盖每个步骤涉及的所有知识点。这些知识点可能没有我的UI5源码分析系列那么深入,但力求通俗易懂,便于SAPUI5初学者看懂。本教程每一步的源码都存放在我的Github上,以01、02、03等文件夹标识,例如第1步的源码在这里。每一步都在上一步的基础上,增加了几个新的特性。建议零基础或对SAPUI5了解不多的初学者从第一步开始按顺序循序渐进学习,将这些代码下载到本地,配合教程的文字讲解,自己动手加深理解。如果大家对教程的每一步有什么疑问,欢迎在教程对应的步骤文章中评论留言。在本教程的前一篇文章SAPUI5应用开发教程第76期-如何实现SAPUI5的LazyLoading(惰性加载、惰性加载)中,作者介绍了SAPUI5视图的LazyLoading(惰性加载)功能,以及a将庞大的XML视图进行检查和划分,得到几个专注于不同业务逻辑的子视图A、B、C、D。在默认的贪心加载模式下,SAPUI5会加载整个原始未拆分的XML视图,而使用步骤76介绍的方法拆分后,SAPUI5只会加载拆分后的子视图A,从而提高应用程序的加载性能。这一步介绍了SAPUI5动态视图展示的另一个高级用法,也是沿用了上一步介绍的视图拆分的思路。在本教程SAPUI5ApplicationDevelopmentTutorial14-HowtoUseEmbeddedViews的第14步中,我们介绍了在一个XML视图中动态嵌入另一个XML视图的方法。打开这一步对应的14文件夹,找到App.view.xml文件,发现里面嵌入了一个名为HelloPane的XML视图。下图中11行代码的嵌入方式称为静态嵌入。此过程描述了SAPUI5动态页面路由的高级用法。点击ShowEmployeesOverview按钮:会跳转到下面的EmployeeOverview页面,该页面由两个子页面组成,如下图绿色和黄色高亮显示:EmployeeOverviewTop(该页面只有一个空的页面标题)Employees列表使用之前介绍过的UI5Inspector对上面的页面进行分析:SAPUI5应用开发教程41-Chrome扩展UI5Inspector的离线安装和使用可以更清楚的看到EmployeeOverview视图和它包含的两个子视图,嵌套的包含关系员工概览顶部和员工列表视图。但是,我们打开EmployeeOverview对应的XML视图,发现它的内容节点是空的。这说明EmployeeOverviewTop和EmployeeList这两个子视图在运行时通过动态路由被EmployeeOverview的父视图包含了。在实际的项目开发过程中,像EmployeeOverview这样的概览页面的复杂度会远远超过这一步给出的例子。我们可以根据业务功能将概览页面拆分成不同的子页面,然后在不同的XML视图文件中实现。通过遵循单一职责原则(SingleResponsibilityPrinciple),我们将概览页面的实现复杂度平均分配给各个子页面,使得各个子页面的复杂度都在可控范围内,同时避免了MonsterViewwithtoohighcomplexity(描述一个由几千行代码组成的XML视图,这种视图一般是开发者所畏惧的,因此得名)。下面是这个动态路由的具体实现步骤。