我正在尝试显示用于选择具有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);
}
}
})();
谢谢您的帮助!
答案 0 :(得分:4)
ng-click="login('{{userData.ID}}')"
-> ng-click="login(userData.ID)"
您正在将字符串传递给该函数。