2015-04-12 1 views
1

Извините за мой английский, и им новое для angularjsAngularJS - повтор, diffrent счетчик для каждой строки добавляется

У меня есть система, чтобы люди могли добавить туда имя к списку излома.

У меня есть простой код для этого.

Угловая JS

function ExampleCtrl($scope){ 
    $scope.people = []; 


    $scope.addPerson = function(){ 
    var person = { 
     name: $scope.name, 
    }; 

    $scope.people.push(person); 
    }; 

    $scope.removePerson = function(index){ 
    $scope.people.splice(index, 1); 
    }; 


} 

HTML

<input type="text" ng-model="name"> 
<button ng-click="addPerson()"></button> 
<tr ng-repeat="person in people"> 
<td>{{ person.name }}</td> 
<td> </td> 
<td><button ng-click="removePerson($index)"></button> </td> 

Что я хочу сделать таймер, который начинается в 00:00 при добавлении человека в список и восходил каждый из них. И для каждого нового человека, который добавляет в список, новый 00:00 в строке (рядом с названием) и начинает подсчет. Как я могу это сделать, чтобы каждый человек имел свое собственное время?

EDIT:

Вот картина веб-приложение. Каждый раз, когда я добавляю нового человека, я хочу, чтобы счетчик начинал с 00:00 и поднимался вверх, каждое место рядом с именем. (Красный квадрат)

http://i.stack.imgur.com/UsE9c.png

+0

Так что, если я правильно понял, вы хотите, чтобы отсчет времени между каждым добавить операцию, не так ли? –

+0

нет, я хочу, чтобы каждый раз, когда вы добавляете человека. Время, которое начинается в 00:00 на этом человеке рядом с именем. И подсчитывает вверх каждое сидение. Если вы добавляете нового человека, у него есть собственное время, начинающееся с 00:00, таймер начинается, когда вы добавляете человека. – Realbunny

ответ

1
function ExampleCtrl($scope, $interval){ 
    $scope.people = []; 


    $scope.addPerson = function(){ 
    var person = { 
     name: $scope.name, 
     time: 0 
    }; 

    $scope.people.push(person); 
    }; 

    $scope.removePerson = function(index){ 
    $scope.people.splice(index, 1); 
    }; 

    $interval(function() { 
     angular.forEach($scope.people, function(person) { 
      person.time++; 
     } 
    }, 1000); 
} 

и вот пример: http://plnkr.co/edit/aWavvTFMvZVXbn4IDSmx?p=preview

+0

cant 'получить код для работы, добавил {{person.time}}, но время идет вверх по каждой стойке. И если я добавлю нового человека, я получаю большее число при запуске – Realbunny

+0

попробуйте использовать ** $ interval ** service https://docs.angularjs.org/api/ng/service/$interval, если все еще не работает, тогда попробуйте * * for loop ** вместо ** angular.forEach ** –

+0

Я только что попробовал, и он работает http://plnkr.co/edit/aWavvTFMvZVXbn4IDSmx?p=preview –

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