Двусторонняя привязка к app-route routeData с помощью fallbackSelection возвращает обратно
Моя цель - предоставить вид по умолчанию в моем маршруте, который также доступен через 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
на paper-tabs
связывает до routeData
и добавляет foo/
к window.location
(/app/route/foo
).
Это добавляет историю в window.history: если пользователь попал в это представление, щелкнув ссылку, нажатие кнопки "Назад" не вернет их на предыдущую страницу. В этом случае они должны нажать кнопку "Назад" три раза, чтобы вернуться.
Как я могу обеспечить адресное представление по умолчанию для моего подрута, не нажимая кнопку "Назад"?