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



我正在尝试显示用于选择带有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);
  }
}

})();

提前感谢您的帮助!

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

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

最新更新