小编Pus*_*Wan的帖子

无法添加属性 X,ngrx 9 更新后对象不可扩展

我有这样的问题

无法添加属性 X,对象不可扩展

在使用 Ngrx 更新将我的 angular 项目更新为 angular 9 之后。当我将 Ngrxversion 回滚到 8 时,它工作正常。但是我还需要使用 angular 9 更新将其更新到 v9。当我将其作为 datasource.data 添加到具有附加属性的材料表中时,就会发生这种情况。我认为额外的属性改变是一个原因。但是我通过使用切片从我们得到并尝试的内容创建了新数组,如下所示。

 myDataArray.slice(0)
Run Code Online (Sandbox Code Playgroud)

它也不起作用。

我在这里参考了 Ngrx 版本 8 到 9 的更改列表和迁移指南https://ngrx.io/guide/migration/v9

我发现有一个与 angular 9 的不变性相关的特殊变化。他们在那里定义了动作、状态和可序列化相关的不变性逻辑。我尝试了他们建议的解决 Ngrx V9 更新问题的方法https://ngrx.io/guide/store/configuration/runtime-checks

但这些对我不起作用。如果有人对此问题有解决方案,这真的很有帮助。提前致谢..

错误堆栈跟踪..(我也使用了 matDataFlatner 这就是对象突变发生的地方)

app-error-handler.ts:30 TypeError:无法添加属性级别,对象不可扩展在 MatTreeFlattener.defaultFlattenerTransform [as transformFunction] (tree-table-flattener-builder.ts:57) at MatTreeFlattener._flattenNode (flat-data- source.ts:58) at flat-data-source.ts:81 at Array.forEach () at MatTreeFlattener._flattenChildren (flat-data-source.ts:78) at MatTreeFlattener._flattenNode (flat-data-source.ts: 65) at flat-data-source.ts:92 at Array.forEach () at MatTreeFlattener.flattenNodes (flat-data-source.ts:92) at MatTreeFlatDataSource.set (flat-data-source.ts:138)

redux ngrx angular angular9

7
推荐指数
3
解决办法
7040
查看次数

如何在Angular中引入类似钩子的自定义生命周期事件

我们需要引入一些生命周期事件,例如,我们需要从父组件onRest()触发该事件。onRest()当从父级调用该方法时,使用该钩子的任何其他组件都应该触发该onRest()方法,就像生命周期钩子一样。

简而言之,我想引入这种自定义生命周期挂钩,并从主父模块或类似的模块中调用它。如果有人有想法引入这种自定义生命周期挂钩及其调用方式,这确实很有帮助。

MyComponents implements onReset() {
   
  onRest() {
   clearAll(...);
  }

}
Run Code Online (Sandbox Code Playgroud)

我知道我们可以在这里引入父组件并实现它。但我需要不同类型的东西,比如可以从其他模块调用的生命周期钩子,并且所有相关的东西都应该触发。

lifecycle design-patterns angular

6
推荐指数
0
解决办法
297
查看次数

标签 统计

angular ×2

angular9 ×1

design-patterns ×1

lifecycle ×1

ngrx ×1

redux ×1