AngularJS: 用户对象

AngularJS: User object

我想要一个对象来为我的 web 中的登录用户保存数据。 我想让他统计用户被连接了多少次,用户在页面之间翻页了多少次,用户订购了多少次table,用户点击了多少次他的名字[=14] =]

我构建了这个对象:

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

有没有办法做得更好?

  • 使用一组用户:

$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 = 函数(用户){ user.countTapName++; };