我是Angular的新手,并尝试创建一个过滤机制,在键入一个字母时查找数据库并查找结果。
结果从DB返回正常,但我遇到的问题是当我用结果填充范围数组时,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 :(得分:0)
从视图中的重复中删除$ scope,仅使用results
<div class="" ng-repeat="result in results">
<li class="list-group-item">{{result.username}}</li>
</div>