通过$http.get
在我的AngularJS应用中检索数据并进行如下渲染:
# Angular
app.controller('MainCtrl', function ($scope, $http) {
$scope.cart = {};
$scope.cart.retrieve = function() {
// make $http to retrieve data
.success(function(results) {
$scope.cart.contents = results
});
};
$scope.cart.update = function(itemId) {
// make $http request to update cart
}
});
# HTML
<table ng-init="cart.retrieve()">
<tbody>
<tr ng-repeat="item in cart.contents">
<td>{{ item.price }}</td>
// item quantity input field
<td><input type="number" name="quantity" on-change="cart.update(item.id)"
ng-model="item.qty"></td>
<td>{{ item.price * item.qty }}</td>
</tr>
</tbody>
</table>
在输入字段中更改项目数量时,传递项目ID 的功能将触发:$scope.cart.update = function(itemId) { ... }
。如何为触发变更事件的此特定项目检索此新值。是否有类似this
的角度我可以在函数内部使用?
答案 0 :(得分:4)
您可以将项目传递到cart.update
功能:
on-change="cart.update(item)"
然后使用此qty
item
$scope.cart.update = function(item) {
// do whatever you want with
// item.qty
}