AngularJS: Проблемы со связыванием в обработчиках событий внутри ng-repeat - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь отобразить кнопки для выбора имени пользователя с помощью 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 голосов
/ 21 января 2019

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

Вы передаете строку в эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...