Jus*_*tin 8 routing resolver angular
我知道如何为路由创建多个解析类,但我不知道如何将一个解析的结果传递给另一个解析.
// Example Route
{
path: 'book/:id',
component: BookComponent,
resolve: {
document: BookResolve,
title: BookTitleResolve
}
}
Run Code Online (Sandbox Code Playgroud)
如果BookResolve返回一个book对象,那么如何将该book对象传递给BookTitleResolve?
我有一个标题服务,在数据中查找关键标题.我需要能够从书籍对象生成书名.这需要是动态的.
小智 7
同一组件内的解析同时运行,但父级中的解析会在子级之前完成,因此实现这一点的最简单方法是创建一个父级路由,目的是解析本书。
{
path: 'book/:id',
resolve: {
document: BookResolve
},
children: [ {
path: '',
component: BookComponent,
resolve: {
title: BookTitleResolve
}
} ]
}
Run Code Online (Sandbox Code Playgroud)
请注意,父级不渲染组件,子级包含空白路径,因此尽管添加了一些样板,但该路由的功能应该相同。
然后在您的 BookTitleResolve 实现中,您可以从父路由中检索:
class BookTitleResolve {
resolve(route: ActivatedRouteSnapshot) {
// Do something with route.parent.data.document
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1529 次 |
最近记录: |