考虑一下我想要重写一个从/register到/tenant/register的URL,其中:-
/register没有一个实际的视图,因为它只会使URL更好。/tenant/register是实际视图,包含一个<my-tenant-register>视图元素。是否可以使用<app-route>重写URL?这样它就可以有一个虚拟路径,并按照一定的规则重定向到应用程序路由。
发布于 2018-03-07 22:16:32
以PSK为例,我们需要在<app-location>中添加一个<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-06 18:01:15
关于你问题的标题,补充如下:
<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>一样。
https://stackoverflow.com/questions/49126758
复制相似问题