AngularJS:ng-repeat内的事件处理程序中的绑定问题

时间:2019-01-20 23:01:52

标签: javascript angularjs

我正在尝试显示用于选择具有ng-repeat的用户名的按钮。显示正常。但是循环中的每个按钮都有一个带有绑定的ng-click指令。这在Google Chromes DOM-Explorer中也显示正确。但是,当单击其中一个按钮时,事件处理函数login()将{{user.userId}}作为输入,而不是参数的值。

拥有我的代码:

<div class="cell large-3" ng-repeat="user in userData()" ng-class="{'large-offset-1': ($index % 3) != 0}">
      <button ng-click="login('{{user.ID}}')" class="button expanded red bigButton"> {{user.userName}} </button>
    </div>

Cntrl:

(function () {
'use strict';
angular.module('app').controller('loginCntrl', ['$scope', '$controller', '$location','dataService', 'mainService', initLoginCntrl]);
function initLoginCntrl($scope, $controller,$location, dataService, mainService) {
  angular.extend(this, $controller('baseCntrl', {
            $scope: $scope
        }));

  $scope.userData = dataService.getUserData;



  $scope.login = function(userID) { <-- input of userid is {{userData.ID}} instead of the eal userID from Binding
    mainService.login(userID);
  }
}

})();

谢谢您的帮助!

1 个答案:

答案 0 :(得分:4)

ng-click="login('{{userData.ID}}')"-> ng-click="login(userData.ID)"

您正在将字符串传递给该函数。