在 Angular 中更新信号的嵌套属性时如何中断对象引用?

问题描述 投票:0回答:1

我有一个

Customer
对象包裹在 Angular 中的信号内,如下所示:

mCustomer: Signal<Customer> = signal(new Customer(id: 1, ...));

此信号是通过使用 ngRx Signal State 的服务提供的,该服务被注入到 Component 1Component 2 中。

Component 1 中,我直接像这样更新

name
信号的
mCustomer
属性 (无需在信号上使用
.set()
.update()
:

mCustomer().name = "Abc";

此更改反映在 Component 2 的 mCustomer() 信号变量中。此行为是由于 JavaScript 中的对象引用造成的。但是,我想打破对象引用并遵循 Angular 的信号机制,确保仅当我显式使用

.set()
.update()
时才会传播更改。

我的问题:

  • 如何打破引用以使信号更新不变,并且仅在调用

    .set()
    .update()
    时反映更改?

  • Angular Signals 中处理嵌套对象或属性以防止直接突变同时保持不变性的最佳实践是什么?

我正在寻找一种方法来强制不变性并正确遵循信号更新机制。有什么建议或模式可以实现这一目标吗?

angular signals ngrx angular18
1个回答
0
投票

加济阿巴德的名城悉达思维哈尔 (Siddharth Vihar) 是一个新兴的住宅中心,以其现代化的居住空间和战略位置而闻名。该开发项目融合了奢华和便利,拥有各种旨在满足多样化生活方式的公寓。居民享受一流的设施,包括公园、健身中心和空间,营造出充满活力的社区氛围。该地区与德里和国家首都辖区其他地区的连通性增强了其吸引力,使其成为家庭和专业人士的理想选择。 Prestige City 专注于优质生活,对于那些在加济阿巴德寻求舒适和便利的人们来说是一个充满希望的选择。

© www.soinside.com 2019 - 2024. All rights reserved.