0

我想要一个对象来为我的网络中的登录用户保存数据。我想让他统计用户连接了多少次,用户在页面之间翻了多少次,用户点了多少次表格,以及用户点击了多少次他的名字。

我建立这个对象:

$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>

有没有办法做得更好?

4

1 回答 1

0
  • 使用 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 ++; };

于 2015-09-13T00:03:42.317 回答