我正在使用 Angular 服务来获取库存项目列表,检查某个项目是否在该列表中,然后将其删除。但是,我不想更改服务变量本身,只想更改我创建的临时值。这是我的代码:
var inventoryItems = InventoryService.all();
console.log("inventorya: ", InventoryService.all());
inventoryItems.splice($index, 1);
console.log("inventoryb: ", InventoryService.all());
我希望 InventoryService.all() 始终返回相同值,但它会改变返回的值。我试过:
var inventoryItems = new Object(InventoryService.all());
但这似乎也不起作用。我做错了什么?
最佳答案
您可以使用 angular.copy() 克隆阵列。例如
var inventoryItems = angular.copy(InventoryService.all());
或者更好的是,您可以从 InventoryService
内部复制数组,这样您在使用它时就不必考虑它
关于javascript - 使用 Angular 服务并且不更改函数调用中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35663058/