javascript - 使用 Angular 服务并且不更改函数调用中的变量

标签 javascript angularjs

我正在使用 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/

相关文章:

angularjs - 单独的 REST 后端 API 的优点?

angularjs - 使用 AngularJS 提交和验证表单的好模式是什么?

javascript - 带有工具提示值的图表

javascript - 向上动画进度条

javascript - 如何设置我绘制的 fabricjs 文本对象的一部分?

javascript - 如何描述具有动态名称的 typescript 类型?

angularjs - 无法在 AngularFire 0.9.0 中使用新的密码身份验证方法?

javascript - 未捕获的 TypeError : $. get(...).then 不是函数

javascript - Angular JS 中用于 IP 地址验证的 ng-pattern

javascript - Firebase 未使用浏览器 API 设置数据