我想要使用AngularJs实现一个功能,就像这样, 每次点击一个成分时所选择的列表已经改变并添加一个成分并显示数字,如果重复点击一个成分只是改变这种成分使用Angularjs对阵列中的每个项目进行计数
here is my html
<div ng-app="myApp" ng-controller="addIngredientCtrl">
<div class="ingredient-list">
<h4>INGREDIENT:</h4>
<ul ng-repeat="items in item.recipe.IngredientMapping">
<li class="ingredient-list-style">
<img src="http://164.132.196.117/chop_dev/api/AngularJs/images/plus.png" class="plus-size" ng-click="addIngredient(items.Ingredient.name)">
{{items.quantity}} {{items.Unit.name}} {{items.Ingredient.name}}
</li>
</ul>
</div>
<div class="selected-list-box">
<div class="selected-list">
<h4>Selected List</h4>
<div>
<ul ng-repeat="selectedItem in selectedItem track by $index">
<li>
{{selectedItem}}
<li ng-repeat="(c, n) in results"> {{c}} shows {{n}} times</li>
</li>
</ul>
</div>
</div>
</div>
量,这里是我的js
myApp.controller('addIngredientCtrl', function($scope) {
$scope.selectedItem=Array();
$scope.addIngredient= function(param){
$scope.selectedItem.push(param);
console.log($scope.selectedItem);
$scope.results = {};
for (var i = 0; i < $scope.selectedItem.length; i++) {
var selected = $scope.$scope.selectedItem[i];
if(selected) {
if ($scope.results.hasOwnProperty(selected)) {
$scope.results[selected]++;
} else {
$scope.results[selected] = 1;
}
}
}
是的,当我检查它时,我发现我的错误,非常感谢 – Agnes