Polymer 使用`<;时如何强制从javascript更改路由;应用程序位置>`

Polymer 使用`<;时如何强制从javascript更改路由;应用程序位置>`,polymer,Polymer,我正在使用和在我的Polymer应用程序中进行导航。我要求我的用户首先登录(如果他们还没有登录),这超出了路由的范围。因此,一旦登录或他们已经登录,应用程序将在浏览器url栏中输入的页面上启动 我有一个场景,用户第一次尝试登录,因此需要重定向到其他页面以填写他们的个人资料。我希望通过javascript编程,在应用程序中推送一个新的url,以便在登录后重定向到配置文件页面,然后让配置文件页面模拟浏览器返回按钮,返回到最初输入的起始页面 假设我没有使用#路由,如果您在和之间有双向绑定,您可以简单地

我正在使用
在我的Polymer应用程序中进行导航。我要求我的用户首先登录(如果他们还没有登录),这超出了路由的范围。因此,一旦登录或他们已经登录,应用程序将在浏览器url栏中输入的页面上启动

我有一个场景,用户第一次尝试登录,因此需要重定向到其他页面以填写他们的个人资料。我希望通过javascript编程,在应用程序中推送一个新的url,以便在登录后重定向到配置文件页面,然后让配置文件页面模拟浏览器返回按钮,返回到最初输入的起始页面


假设我没有使用#路由,

如果您在
之间有双向绑定,您可以简单地将
数据属性更改为profile,例如

例如,如果您的设置如下所示:

  <app-location route="{{route}}"  id="appLocation" use-hash-as-path></app-location>
  <app-route id="appRoute"
        route="{{route}}"
        pattern="/:page"
        data="{{page}}"
        tail="{{tail}}">
  </app-route>

或者,如果您的
页面
是绑定在元素/应用程序中的属性,您可以简单地更新
页面
属性,该属性将依次更新
元素的
数据
属性,并最终通过数据绑定系统更新
元素的
路由
属性

我想您是想说一些关于更改属性this.page
的内容,作为替代。你没有说任何关于模拟浏览器后退按钮的事情,我可以只做
window.history.back()
?是的,谢谢,我更新了答案以完成这句话。取决于行为应该是什么。如果您按照我概述的方式操作,那么如果用户单击浏览器后退按钮,它将导航回配置文件页面。如果不需要,可以使用
window.history.back()
或者使用
window.history.replaceState()
this.$.appRoute.data = {page:'profile'}