2016-06-27 2 views
2

Я новичок в Angular и пытаюсь создать механизм фильтрации, который запускает поиск при вводе буквы, поиске ее и возвращении результатов.

Результаты возвращаются ОК из БД, но проблема, с которой я сталкиваюсь, - это когда я заполняю массив областей результатами и ng-repeat не срабатывает.

мой HTML и JS:

app.controller("friendsController",function($scope,$http){ 
 
     $scope.results =[]; 
 
     $scope.onTextChange = function(){ 
 
      var results = []; 
 
      var text = $scope.friendsLookupText; 
 
      $http({ 
 
       url: 'utilities/getFriendsByValue.php', 
 
       method: 'POST', 
 
       data: {textValue: text} 
 
      }).success(function(data) { 
 
       if(data=="none") 
 
       { 
 
        $scope.results = results; 
 
       } 
 
       else 
 
       { 
 
        var stringResult = JSON.stringify(data); 
 
        var parsedResult = JSON.parse(stringResult); 
 
        $scope.results = parsedResult; 
 
       } 
 
      }); 
 

 
     }; 
 
    });
<div class="container-fluid" ng-controller="friendsController as friendsCtrl"> 
 
    <input type="text" id="friendsLookupText" ng-model="friendsLookupText" ng-change="onTextChange()"> 
 
    <ul class="list-group"> 
 
    <div class="" ng-repeat="result in $scope.results"> 
 
     <li class="list-group-item">{{result.username}}</li> 
 
    </div> 
 
    </ul> 
 
</div>

Я буду рад, если кто-то может помочь.

ответ

0

Remove $ сфера с повтором в представлении, используйте только results

<div class="" ng-repeat="result in results"> 
    <li class="list-group-item">{{result.username}}</li> 
</div> 
+0

Это сделал трюк. Благодаря! ты сделал мой день. – Shizzle

+0

Приятно это знать! –

Смежные вопросы