我的目标是在我的路由中提供一个默认视图,该视图也可以通过 URL 访问。为了实现这个目标,我绑定了paper-tabs
(一个iron-selector
实现)的选定属性iron-pages
并routeData.view
<!-- parent route: app/route -->
<app-route id="route"
route="{{route}}"
pattern="/:view"
data="{{routeData}}"
></app-route>
<paper-tabs id="tabs"
selected="{{routeData.view}}"
fallback-selection="foo"
attr-for-selected="name">
<paper-tab link name="incomplete" hidden></paper-tab>
<paper-tab link name="foo">FOO</paper-tab>
<paper-tab link name="bar">BAR</paper-tab>
</paper-tabs>
<iron-pages id="pages"
selected="[[routeData.view]]"
attr-for-selected="id">
<div id="incomplete">INCOMPLETE view</div>
<div id="foo">FOO view</div>
<div id="bar">BAR view</div>
</iron-pages>
当用户导航到这条路线时(我们称之为/app/route/
,fallbackSelection
onpaper-tabs
绑定到routeData
,并添加foo/
到window.location
( /app/route/foo
)。
这会将历史记录添加到 window.history:如果用户通过单击链接进入此视图,则按后退按钮将不会返回到上一页。在这种情况下,他们必须按三下后退按钮才能返回。
如何在不破坏后退按钮的情况下为我的子路由提供寻址的默认视图?