首页 > 解决方案 > 常量服务变量 Angular

问题描述

我有一个角度服务,我存储了一个array_item从我的 api 调用获得的数组,并且在组件中我声明了 2 个变量var_1,并且var_2它们都具有我从服务中获得的相同值

即:var_1 = this.service.array_item&&var_2 = this.service.array_item

我在我的 HTML 中将它列为 2 个 DIV 的列表,但是当我更新 list_1 中的值时,它会更改服务中的数组项值,这会自动更改我在 list_2 中的数组项数据。我不希望列表 2 被更改,我希望它保持不变。欢迎提出建议或解决方案。

提前致谢

标签: angularangular-services

解决方案


是的,这种行为很明显,因为 JavaScript 是通过引用传递的。因此,您可以通过在组件级别保留原始数组的另外 2 个副本来解决问题。

可以按照本参考中的说明进行复制

然后组件代码会像,

var_1 = this.service.array_item.copy() // Implement copy function
var_2 = this.service.array_item.copy() // Implement copy function

推荐阅读