2015-02-10 5 views
0

У меня есть 5 кнопок, и я хочу, когда я нажму на каждый из них, это будет считаться. Например, я нажал кнопку 1, счетчик должен увеличивать 1, а когда я нажал кнопку 2, счетчик должен снова увеличивать 1. Таким образом, общее количество отображаемых счетчиков равно 2. Ниже приведен код, который я сделал до сих пор, но он не работает, как я ожидал. Что мне делать?Подсчитайте, сколько раз кнопка нажата в angularjs

var app = angular.module("myApp", []); 
 
app.controller('check', function($scope) { 
 
    
 
    $scope.count = function(inc){ 
 
    
 
    $scope.counter += inc; 
 
    }; 
 
    
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="myApp" ng-controller="check"> 
 
    
 
    <button id = '1' ng-click = "count(1)" >1 </button> 
 
    <button id = '2' ng-click = "count(1)" >2 </button> 
 
    <button id = '3' ng-click = "count(1)" >3 </button> 
 
    <button id = '4' ng-click = "count(1)" >4 </button> 
 
    <button id = '5' ng-click = "count(1)" >5 </button> 
 
    <label> Total Count : {{counter}} </label> 
 
    </body>

ответ

4

Просто объявить счетчик в контроллере:

var app = angular.module("myApp", []); 
app.controller('check', function ($scope) { 
    $scope.counter = 0; 
    $scope.count = function (inc) { 
     $scope.counter += inc; 
    }; 
}); 

Смотрите эту скрипку: http://jsfiddle.net/mnotp1pc/

+0

Что делать, если я хочу, чтобы установить предел, когда кнопка нажата. Пример лимита 3. Каждый клик кнопки будет предупреждать 1 из 3, 2 из 3, и когда клик превышает 3, он будет предупреждать о прекращении? –

+0

@ Prisoner да, я знаю, и я это делаю. Просто новый бит здесь в угловых js. Я не требую полного исходного кода. Я просто хочу советов и предложений. :-) –

+0

'ng-if' хорош в этом:' Подробнее' см. Http://jsfiddle.net/mnotp1pc/1/ –

1

Вы должны инициализировать $ scope.counter к нулю

var app = angular.module("myApp", []); 
 
app.controller('check', function($scope) { 
 
    $scope.counter= 0; 
 
    $scope.count = function(inc){ 
 
    
 
    $scope.counter += inc; 
 
    }; 
 
    
 
    
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<body ng-app="myApp" ng-controller="check"> 
 
    
 
    <button id = '1' ng-click = "count(1)" >1 </button> 
 
    <button id = '2' ng-click = "count(1)" >2 </button> 
 
    <button id = '3' ng-click = "count(1)" >3 </button> 
 
    <button id = '4' ng-click = "count(1)" >4 </button> 
 
    <button id = '5' ng-click = "count(1)" >5 </button> 
 
    <label> Total Count : {{counter}} </label> 
 
    </body>

+0

хороший ответ. –

1

вы должны инициализировать переменную счетчика как 0, $ scope.counter = 0

Смежные вопросы