考虑以下路由配置:
const routes: Routes = [
{
path: '',
component: AppComponent,
resolve: {
app: AppResolver
},
children: [
{
path: 'user/:uid',
resolve: {
user: UserResolver
},
children: [
{
path: '',
component: ViewUserComponent
},
{
path: 'edit',
component: EditUserComponent
}
]
}
]
}
];
用户数据由UserResolver
route 的任何子级检索/user/:uid
。使用此数据,可以通过导航到 查看用户配置文件/user/:uid
,然后通过导航到 进行编辑/user/:uid/edit
。成功编辑后,预计会被重定向到用户更新的个人资料 ( /user/:uid
)。
但是,视图和编辑页面都是已解析路由的子级,从一个导航到另一个时不会触发解析器。
因此,当从编辑组件导航回视图组件时,显示的数据仍然是旧的、未更新的数据。
是否有任何方法使解析的user
数据无效以强制解析器再次从服务器获取它?或者有没有其他方法可以达到这种效果?
数据没有改变,app
我们不应该重新加载它。