- crossroads
- crossroads-dbg.js
- route
- _getMatchedRoutes
- thirdparty
- router
- navTo
- match
UI5 view之间navigation的核心代码在folder resources/sap/ui/thirdparty里的js实现。
如上图所示,router framework试图根据传入的route request "detail/AccountCollection('4039331')" 来获取一条匹配的route path.
问题1: 这个request是怎么传到route framework的?
answer:在我们自己的application view里传递的。当我们点击navigation list时,框架自动调用我们注册的事件处理函数setListItem, 在line 124将当前待显示的detail page的上下文,所谓的contextPath,即 "detail/AccountCollection('4039331')"通过调用route框架的方法navTo传入route框架
如果将application code里的detail也改成mydetail之后,仍然不work:
原因是this._oRoutes object里没有名为mydetail的attribute: