我想要使用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