angular7 - route

interface Route {
  path?: string
  pathMatch?: string
  matcher?: UrlMatcher
  component?: Type<any>
  redirectTo?: string
  outlet?: string
  canActivate?: any[]
  canActivateChild?: any[]
  canDeactivate?: any[]
  canLoad?: any[]
  data?: Data
  resolve?: ResolveData
  children?: Routes
  loadChildren?: LoadChildren
  runGuardsAndResolvers?: RunGuardsAndResolvers
}
属性说明
path?: string

要匹配的路径。不能与自定义匹配器函数一起使用。使用路由器匹配符号的URL字符串。可以是与任何URL匹配的通配符(**)(请参阅下面的使用说明)。默认为“/”(根路径)。

pathMatch?: string

路径匹配策略,prefix或full之一。默认为“前缀”。

默认情况下,路由器从左侧检查URL元素以查看URL是否与给定路径匹配,并在存在匹配时停止。例如,“/team/11/user”与“team/:id”匹配。

路径匹配策略“full”与整个URL匹配。重定向空路径路由时执行此操作非常重要。否则,因为空路径是任何URL的前缀,所以即使导航到重定向目标,路由器也会应用重定向,从而创建一个无休止的循环。

matcher?: UrlMatcher

自定义URL匹配函数。不能与path一起使用。

component?: Type<any>

路径匹配时要实例化的组件。如果子路由指定组件,则可以为空。

redirectTo?: string

当路径匹配时要重定向到的URL。如果URL以斜线(/)开头,则为绝对值,否则为相对于路径URL的值。当不存在时,路由器不会重定向。

outlet?: string

路径匹配时可以放置组件的RouterOutlet对象的名称。

canActivate?: any[]

一个依赖注入令牌数组,用于查找CanActivate()处理程序,以确定是否允许当前用户激活组件。默认情况下,任何用户都可以激活。

canActivateChild?: any[]

用于查找CanActivateChild()处理程序的DI令牌数组,以确定是否允许当前用户激活组件的子级。默认情况下,任何用户都可以激活子项。

canDeactivate?: any[]

用于查找CanDeactivate()处理程序的DI令牌数组,以确定是否允许当前用户停用该组件。默认情况下,任何用户都可以停用。

canLoad?: any[]

用于查找CanLoad()处理程序的DI令牌数组,以确定是否允许当前用户加载组件。默认情况下,任何用户都可以加载。

data?: Data

通过ActivatedRoute提供给组件的其他开发人员定义的数据。默认情况下,不传递其他数据。

resolve?: ResolveData

用于查找数据解析器的DI令牌的映射

children?: Routes

指定嵌套路由配置的子路由对象数组。

loadChildren?: LoadChildren

指定延迟加载的子路由的LoadChildren对象。

runGuardsAndResolvers?: RunGuardsAndResolvers

定义何时运行保护程序和解析器。什么之中的一个

paramsOrQueryParamsChange:查询参数更改时运行。

总是:每次执行都要运行。默认情况下,仅当路由的矩阵参数更改时,防护和解析程序才会运行。

 

 

// 下面的路由指定当导航到例如/team/11/user/bob时,路由器将创建包含“user”子组件的“team”组件。

[{
  path: 'team/:id',
 component: Team,
  children: [{
    path: 'user/:name',
    component: User
  }]
}]
 // 下面的路由使用通配符符号来指定一个组件,该组件总是被实例化,而不管您导航到哪里。
 [{ path: '**', component: WildcardComponent }] 
// 您可以指定路径匹配策略“full”,以确保路径覆盖整个未使用的URL。重定向空路径路由时执行此操作非常重要。否则,因为空路径是任何URL的前缀,所以即使导航到重定向目标,路由器也会应用重定向,从而创建一个无休止的循环。
在下面的示例中,提供“full”路径匹配策略可确保路由器仅在导航到“/”时应用重定向。

[{
  path: '',
  pathMatch: 'full',
  redirectTo: 'main'
}, {
  path: 'main',
  component: Main
}]
// 下面的路由使用通配符符号来指定一个组件,该组件总是被实例化,而不管您导航到哪里。 可做 404 页面
[{
    path: 'error',
    component: ErrorComponent,
    data: {
      title: '参数错误或者地址不存在'
    }
  },
  {
    path: '**',
    redirectTo: 'error',
    pathMatch: 'full'
  }]

 

posted @ 2020-06-02 11:03  秦笑  阅读(247)  评论(0)    收藏  举报