3

考虑我想从 to 重写一个 URL /register/tenant/register其中:-

  • /register没有实际的视图,因为它仅用于使 URL 更好。
  • /tenant/register是实际视图,带有<my-tenant-register>视图元素。

是否可以使用重写 URL <app-route>?这样它就可以有一个虚拟路径并根据某些规则相应地重定向到应用程序路由。

4

2 回答 2

1

以 PSK 为例,我们需要添加一个path-changed监听器<app-location>如下:-

<app-location id="location"
    route="{{route}}"
    url-space-regex="^[[rootPath]]"
    on-path-changed="rewritePath">
</app-location>

然后定义如下规则rewritePath():-

/**
 * Rewrite path before passing to <app-route>
 */
rewritePath() {
  let location = this.$.location;

  let path = location.path;
  if (path == '/register') {
    location.path = '/tenant/register';
  }
}
于 2018-03-07T22:16:32.963 回答
0

关于您的问题的主要内容,请添加:

<app-location route="{{newRoute}}"></app-location>

在您的自定义元素顶部并在您的函数中动态定义一个新路由:

this.set('newRoute.path', "/tenant/register");// That you really want to go.

this.set方法将引导您的新目标,就像您按下的一样<a href='/tenant/register'>Tenant/Register </a>

于 2018-03-06T18:01:15.743 回答