我有一个聚合物入门套件应用程序,其中包含多个子路线以及与这些路线相关的各种类型的记录。示例 URL 可能是//myapp/records/{recordId}/subRoute
. 我希望应用程序状态在重新加载时保持不变。我试过这样:
<app-route
route="{{route}}"
pattern="/records/:recordId"
data="{{routeData}}"
tail="{{subroute}}"
></app-route>
<app-route
route="{{subroute}}"
pattern="/:page"
data="{{subRouteData}}"
></app-route>
<firebase-document
id="recordsDocument"
path="/records/[[routeData.recordId]]"
data="{{record}}"
></firebase-document>
...
<script>
routePageChanged(page) { // takes subRouteData.page
if (!user) {
set('page', 'login'),
} else if (!routeData.recordId) {
set('page', 'start')
} else {
set('page', page)
}
}
</script>
但在这些情况下,浏览器总是会出现在登录页面上,因为在 firebase 响应用户之前调用了 routePageChanged。user
当该对象在firebase响应之前不存在时,如何让我的应用程序从依赖于auth'd firebase存在的地址栏路由正确加载?