我只是在想我 我不明白下面的代码是如何工作的。
我有一个工厂,内部有一个名为“产品”的属性,另一个名为“订单”。有两种方法,一种叫做“ list()”,它返回“ products”属性,另一种叫做“ orderList()”,它返回“ order”。另外,它还有一个名为“ add()”的方法,该方法从“产品”列表中获取“产品”,并在工厂内部填充“订单”列表。之后,我有两个控制器和两个列表。一个控制器用于可用产品(“产品”属性),另一个控制器用于购物车(“订单”属性)。
在每个控制器的开头,我有$ scope.productsList = Product.list(),在另一个控制器中,有$ scope.productsOrder = Product.orderList()。
产品从产品列表开始。订单开始为空。那很完美。
当我点击+1时,这两项将更改为“订单”列表。而且不知道为什么。
这是代码:http : //codepen.io/anon/pen/lFLbH
我相信您是在问为什么商品清单和购物车中的金额都发生变化。如果是这样,我的答案就是给你的。它是基本的JavaScript,您在内存中引用的是同一对象,因此在两个视图中都将更新。为避免这种情况,您可以在将对象添加到购物车之前对其进行复制。
更改将对象添加到购物车的行,以复制对象。
order[product.slug] = angular.copy(newProduct);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句