angular - ngrx/router-store 4 可以与 ngrx-store 2.2 一起使用吗?

标签 angular

是否可以一起使用此组合:

"@ngrx/core": "^1.2.0",
"@ngrx/effects": "^2.0.3",
"@ngrx/router-store": "^4.0.4",
"@ngrx/store": "^2.2.2",
"@ngrx/store-devtools": "^3.2.4",
"ngrx-store-freeze": "^0.1.9",
"typescript": "~2.3.4",
"rxjs": "^5.4.0",

我发现 ngrx-store-freeze 存在问题,并收到 Cannot add property _resolvedData, object is not extensible 错误,但我不知道这是否是由于版本不匹配( The migration guide 表示需要 TS 2.4.x)或配置错误?

最佳答案

目前您必须使用自定义路由序列化器,如下所示(来自 ngrx 4 示例应用程序):

export class CustomRouterStateSerializer
  implements RouterStateSerializer<RouterStateUrl> {
  serialize(routerState: RouterStateSnapshot): RouterStateUrl {
    const { url } = routerState;
    const queryParams = routerState.root.queryParams;

    return { url, queryParams };
  }
}

并在您的应用程序模块中提供它:

providers: [
    { provide: RouterStateSerializer, useClass: CustomRouterStateSerializer },
]

关于angular - ngrx/router-store 4 可以与 ngrx-store 2.2 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46075374/

相关文章:

css - 设置ionic 2应用程序的背景图片

javascript - 更改属性时重新渲染 Angular2 组件

html - 如何使大量文本适合 html 表格单元格

angular - 将环境变量传递给 Angular2 应用程序?

javascript - Angular 2 应用程序中的子路由

google-maps - 如何在 angular2 中显示带有地址的谷歌地图

javascript - 新的 Angular CLI 项目在 Internet Explorer 上失败

html - Angular Material : using mat-sidenav, 无法读取未定义的属性 'toggle'

angular - 无法对 openweathermap.org 执行看似简单的 HTTP POST

javascript - Angular2(混合模式)无法将指令降级为 NG1(ES5)