当我使用我的第一次ng-click时,它会创建一个子范围,但不会将其推送到父范围。
后来当我再次使用ng-click(一个非常简单的看似无关的函数)时,它似乎跳进主范围并执行我之前的请求。
有什么想法吗?我很难过,但是假设它与听众或观看有关。
首先点击:
ng-click="cart.addItem(product.sku, product.name, product.price, 1)
shoppingCart.prototype.addItem = function (sku, name, price, quantity) {
this.item = [];
this.item = {
sku : sku,
name :name,
price : price,
quantity:quantity
};
this.items.push(this.item);
};
第二次点击:
ng-click="upload = true"
谢谢,
威尔
答案 0 :(得分:1)
你应该通过Angular教程,你似乎有点困惑:https://docs.angularjs.org/tutorial/step_00
无论如何,您的代码和一些模糊的部分存在一些问题
我不知道这个shoppingCart
是什么,但作为一般规则,你肯定可以替代这个
shoppingCart.prototype.addItem = function (...)
与
shoppingCart.addItem = function (...)
然后,在您的代码中,您有以下代码段:
// everytime you run this function, you substitute whatever
// item was with an empty array
this.item = [];
// then you substitute the empty array with an object (?)
this.item = {
sku : sku,
name :name,
price : price,
quantity:quantity
};
// then you try to push your object in a non-existent array,
// or in the array you just overwrote (if you meant 'item' instead of 'items')...
this.items.push(this.item);
此代码无法使用,因此如果您在$scope
中看到某些更改,则应该是出于其他原因。
答案 1 :(得分:0)
也许你需要创建一个指令,绑定一个click参数把它放在DIV元素上。 This user did a similar code (by Jerrad)