2017-08-20 8 views
0

私は4つの項目のリストを持っています。各項目にはカウンターがあります。アイテムをクリックすると、カウントが増加します。私は、クリックした項目を除いてカウンタの値を0にリセットしたい。これはDemoです。AngularJsのカウントをリセットする方法

答えて

1

このように試すことができます。すべての項目をループし、クリックされたアイテムは、現在の1であるかどうかを確認:インクリメントと他人のためには、0

Try DEMO

var myApp = angular.module('myApp',[]); 

var jsonInfo = {"count":[{"name":"one",count:0} ,{"name":"two",count:0},{"name":"three",count:0} ,{"name":"four",count:0}]} 

function MyCtrl($scope) { 
    $scope.data =jsonInfo; 

    $scope.count = function (inc) { 
    jsonInfo.count.forEach((item) => { 
     item.count = item.name === inc.name? inc.count + 1 : 0; 
    }); 
    }; 
} 
0

これを試してみてくださいに設定しました。

function MyCtrl($scope) { 
    $scope.data =jsonInfo; 

    $scope.count = function (inc) { 

    for(i=0; i<jsonInfo.count.length; i++){ 
     if(jsonInfo.count[i].name != inc.name){ 
     jsonInfo.count[i].count = 0; 
     } 
    } 
    inc.count = inc.count + 1 
    }; 
} 
0
function resetOherCount(inc) { 

    jsonInfo.count.map(function(oneEle) { 
     if (oneEle.name != inc.name) { 
      oneEle.count = 0 
     } 
     return oneEle; 
    }); 
} 

$scope.count = function (inc) { 

    resetOherCount(inc); 
    inc.count = inc.count + 1 
}; 
関連する問題