加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 如何刷新路径的已解析数据

发布时间:2020-12-17 07:31:47 所属栏目:安全 来源:网络整理
导读:请考虑以下路由配置: const routes: Routes = [ { path: '',component: AppComponent,resolve: { app: AppResolver },children: [ { path: 'user/:uid',resolve: { user: UserResolver },children: [ { path: '',component: ViewUserComponent },{ path: 'e
请考虑以下路由配置:
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).

但是,视图和编辑页面都是已解析路径的子项,当从一个导航到另一个时,不会触发解析器.

因此,当从编辑组件导航回视图组件时,显示的数据仍然是旧的,未更新的数据.

是否有办法使已解析的用户数据无效以强制解析器再次从服务器获取它?或者还有其他方法来实现这种结果吗?

应用数据不变,我们不应该重新加载它.

我已经测试了解决方案’runGuardsAndResolvers’,它适用于我的用例,在每个子页面更改时调用解析器.

只是添加此选项,您希望以这种方式表现您的路线部分.

export const ROUTES: any = [
  {
    path: 'project/:name',runGuardsAndResolvers: "always",component: ProjectComponent,resolve: { project: ProjectResolver },children: [
      ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读