1

У меня есть список пользователей, и я делаю ng-repeat в списке, как показано ниже.
я передать идентификатор пользователя к модели, однако, я пытаюсь передать по электронной почте одного и того же выбранного пользователя на другую модель, как:angularjs получает другое свойство выбранной опции ng-repeat, чтобы перейти в другую модель

<span>The selected user's email is : {{myModel.email}} </span> 

, но я ничего не получаю. Потерпеть неудачу! Что мне делать, чтобы исправить это?

<div class="form-group"> 
    <ui-select ng-model="myModel.user" name="user" theme="selectize" required ng-change="myModel.email = user.email" title="Choose user"> 
     <ui-select-match placeholder="Select user">{{$select.selected.firstName}} {{$select.selected.lastName}} 
     </ui-select-match> 
     <ui-select-choices repeat="user.id as user in userList | userFilter:$select.search"> 
      <div ng-bind-html="user.firstName + ' ' + user.lastName | highlight: $select.search"></div> 
      <small> 
       email: {{user.email}} 
      </small> 
     </ui-select-choices> 
    </ui-select> 
    <br/> 
    <span>The selected user's email is : {{myModel.email}} </span> 
</div> 

и вот контроллер:

$firebaseArray(MyDataBase.ref('users').orderByKey()).$loaded().then(function (res) { 
    for (var i = 0; i < res.length; i++) { 
     if (res[i].$id !== current.uid) { 
      $scope.userList.push({ 
       id: res[i].$id, 
       firstName: res[i].firstName, 
       lastName: res[i].lastName, 
       email: res[i].email 
      }); 
     } else { 
      defaultUser = res[i]; 
     } 
    } 
}); 

ответ

1

Создание функции первого и петли через выбранный идентификатор, чтобы получить соответствующую электронную почту:

$scope.userModelEmail = {}; 
$scope.getUserEmail = function (id) { 

    for (var i = 0; i < $scope.userList.length; i++) { 
     if ($scope.userList[i].id === id){ 

      return $scope.userModelEmail.email = $scope.userList[i].email; 
     } 
    } 

    console.log($scope.userModelEmail.email); 

} 

и, конечно, использовать ng-change для передачи идентификатора функции:

ng-change="getUserEmail(myModel.user)" 

, и вы можете здесь отразить эту информацию:

<span>The selected user's email is : {{userModelEmail.email}} </span>