AngularJS: Пользовательский объект
Я хочу иметь объект, который будет сохранять данные для входа пользователя в мою сеть. Я хочу, чтобы он посчитал, сколько раз пользователь был подключен, сколько раз пользователь перемещался между страницами, сколько раз пользователь заказывал таблицу и сколько раз пользователь нажимал на его имя.
Я строю этот объект:
$scope.User = {
'username': '',
'Password': '',
'connected': false,
'countConnect': 0,
'countPaging':0,
'countOrder':0,
'countTapName':0
};
и это пример функций для подсчета:
$scope.tapName = function(){
if ($scope.username == $scope.User.username){
$scope.User.countTapName ++;
}
};
$scope.countOrder = function (){
$scope.User.countOrder++;
};
$scope.pageChanged = function() {
console.log('Page changed to: ' + $scope.currentPage);
$scope.User.countPaging ++;
};
Моя проблема в том, что все пользователи получают одинаковое количество, а не для отдельного пользователя.
HTML:
<td ng-click="tapName()" ng-model="un" class="col-lg-1">{{user.userN}}</td>
<td class="col-lg-1">{{user.PassW}}</td>
<td class="col-lg-1">{{user.Name}}</td>
<td class="col-lg-1">{{user.LastName}}</td>
<td class="col-lg-1">{{User.countConnect}}</td>
<td class="col-lg-1">{{User.countPaging}}</td>
<td class="col-lg-1">{{User.countOrder}}</td>
<td class="col-lg-1">{{User.countTapName}}</td>
Есть ли способ сделать это лучше?
1 ответ
Решение
- использовать массив пользователей un:
$ scope.Users = [user1, user2,...]
- используйте директиву ng-repeat:
https://docs.angularjs.org/api/ng/directive/ngRepeat
<div ng-repeat="user in Users">
<div ng-click="tapName(Users.user)">
<div>{{$index}}</div>
<div>{{user.Name}}</div>
...
</div>
</div>
и передайте своего пользователя:
$ scope.tapName = function (user) {user.countTapName ++; };