Я пытаюсь выполнить функцию поиска в моем angularjs «webapp». Когда я ищу в продуктах все работает нормально, но когда я меняю все так, чтобы он искал пользователей, я получаю сообщение об ошибке. Не могу прочитать свойство «toLowerCase» неопределенного.Невозможно прочитать свойство «toLowerCase» неопределенных угловых символов
Вот мои ЯШИ:
return function(arr, searchString){
if(!searchString){
return arr;
}
var result = [];
searchString = searchString.toLowerCase();
angular.forEach(arr, function(item){
if(item.title.toLowerCase().indexOf(searchString) !== -1){
result.push(item);
}
});
return result;
};
});
А вот HTML, который зовет его:
<div ng-controller="userCtrl" class="container-app">
<div class="bar">
<input type="text" class="search" ng-model="searchString" placeholder="Enter your search terms" />
</div>
<div class="searchResultsText">
<h2>Zoekresultaten: </h2>
</div>
<div class="searchResults" ng-repeat="user in users | searchFor:searchString">
<a class="normal" href="#">{{user.name}}</a>
</div>
он показывает мне список пользователей, как только я начинаю печатать в строке поиска это дает мне ошибку.
, когда я использую ту же функцию, с другим контроллером, он работает. Вот два контроллера:
app.controller('customersCtrl', function ($scope, $http) {
$http.get(apiUrl + "product/list")
.success(function (response) {
$scope.products = response;
});
});
app.controller('userCtrl', function ($scope, $http) {
$http.get(apiUrl + "user/list")
.success(function (response) {
$scope.users = response;
});
});
так что в основном customerCtrl отлично работает, но когда я меняю значения на userCtrl, он перестает работать.
любые предложения?
Ваш поискString может быть пустым – Sajeetharan
Как это может быть null? это точно такая же функция ... –