搜索文档 /

离子路由重定向

路由重定向只能与 离子路由器 作为它的直接孩子。

注意:此组件应仅用于vanilla和Stencil JavaScript项目 离子路由器出口 还有角度路由器。

路由重定向有两个可配置属性:

  • 从…起

它将“从一个URL”重定向到“另一个URL” 离子路由重定向 如果规则匹配,路由器将从中指定的路径重定向 从…起 属性中的路径 所有物为了使重定向发生 从…起 路径必须与导航的URL完全匹配。

多路由重定向

可以在内部定义任意数量的重定向路由 离子路由器 ,但只有一个可以匹配。

路由重定向永远不会在它自己的重定向之后调用另一个重定向,因为这可能导致无限循环。

采取以下两个重定向:


                <
               离子路由器
               >
             
                <
               离子路由重定向
              
               从…起
                =
                "
               /管理员
                "
              
               
                =
                "
               /登录
                "
               >
                
               离子路由重定向
               >
             
                <
               离子路由重定向
              
               从…起
                =
                "
               /登录
                "
              
               
                =
                "
               /管理员
                "
               >
                
               离子路由重定向
               >
             
                
               离子路由器
               >
复制 抄袭

如果用户导航到 /管理员 路由器将重定向到 /登录 到此为止。它永远不会计算多个重定向。

用法


                <!--当用户导航到`/admin`时重定向,但如果用户导航到`/admin/posts`,则不会重定向-->
               
                  <
                 离子路由重定向
                
                 从…起
                  =
                  "
                 /管理员
                  "
                
                 
                  =
                  "
                 /登录
                  "
                 >
                  
                 离子路由重定向
                 >
               
                <!--通过添加wilcard字符(*),重定向将匹配admin-->
               
                  <
                 离子路由重定向
                
                 从…起
                  =
                  "
                 /管理员/*
                  "
                
                 
                  =
                  "
                 /登录
                  "
                 >
                  
                 离子路由重定向
                 >
复制 抄袭

路由重定向作为守卫

重定向路由可以起到保护作用,防止用户根据给定条件导航到应用程序的某些区域,例如用户是否经过身份验证。

可以动态添加和删除路由重定向,以重定向(或保护)某些被访问的路由 * 将重定向到 /登录 url如果 伊斯洛格丁 错误的 .


                常数
               伊斯洛格丁
                =
               
                错误的
                ;
               
                常数
               路由器
                =
               文件
                .
                查询选择器
                (
                “离子路由器”
                )
                ;
               
                常数
               RouterDirect
                =
               文件
                .
                createElement
                (
                “离子路由重定向”
                )
                ;
               RouterDirect
                .
                集合属性
                (
                “来自”
                ,
               
                '*'
                )
                ;
               RouterDirect
                .
                集合属性
                (
                “到”
                ,
               
                “/登录”
                )
                ;
               
                如果
               
                (
                !
               伊斯洛格丁
                )
               
                {
               路由器
                .
                附肢儿童
                (
               RouterDirect
                )
                ;
               
                }
复制 抄袭

另一种选择是 可以根据条件进行修改。在以下示例中,路由重定向将检查用户是否登录并重定向到 /登录 如果没有,请输入url。


                  <
                 离子路由重定向
                
                 身份证件
                  =
                  "
                 教程重定向
                  "
                
                 从…起
                  =
                  "
                 *
                  "
                 >
                  
                 离子路由重定向
                 >
复制 抄袭

                常数
               伊斯洛格丁
                =
               
                错误的
                ;
               
                常数
               RouterDirect
                =
               文件
                .
                查询选择器
                (
                “# tutorialRedirect”
                )
                ;
               RouterDirect
                .
                集合属性
                (
                “到”
                ,
               伊斯洛格丁
                ?
               
                未定义
               
                :
               
                “/登录”
                )
                ;
复制 抄袭

性质

从…起

描述

重定向路由将“从一个URL”重定向到“另一个URL”。此属性是“从”URL。它需要与导航的URL完全匹配才能应用。

此值中指定的路径始终是绝对路径,即使初始路径为/未指定斜杠。

属性 从…起
类型 一串

描述

重定向路由,从一个URL重定向到另一个URL。这个属性就是“to”URL。当定义离子路由重定向如果规则匹配,路由器将重定向到此属性中指定的路径。

此属性的值始终是中定义的路由范围内的绝对路径离子路由器它不能与其他路由器一起使用,也不能执行到其他域的重定向。

请注意,这是一个虚拟重定向,它不会导致真正的浏览器刷新,同样,它是离子路由器上下文中的重定向。

当未指定此属性或其值为未定义即使“from”值匹配,整个重定向路由也是noop。

属性
类型 空|字符串|未定义

事件

名称 描述
ionRouteRedirectChanged 在DOM中添加/删除此规则的任何值或其任何公共属性更改时激发的内部事件。`ion router`捕获此事件以更新其路由器规则的内部注册表。
Baidu