我正在尝试将使用PHP API的应用程序转换为将AngularJS应用程序加载到使用Firebase作为后端的应用程序。
我想我几乎得到了它但却抛出了错误
TypeError:无法读取未定义的属性'toLowerCase'
这是我使用'toLowerCase'
的地方app.filter('searchFor', function(){
return function(arr, searchString){
if(!searchString){
return arr;
}
var result = [];
searchString = searchString.toLowerCase();
angular.forEach(arr, function(i){
if(i.english.toLowerCase().indexOf(searchString) !== -1){
result.push(i);
}
if(i.spain.toLowerCase().indexOf(searchString) !== -1){
result.push(i);
}
if(i.germany.toLowerCase().indexOf(searchString) !== -1){
result.push(i);
}
if(i.france.toLowerCase().indexOf(searchString) !== -1){
result.push(i);
}
if(i.philippines.toLowerCase().indexOf(searchString) !== -1){
result.push(i);
}
});
return result;
};
});
知道可能出现什么问题吗?
答案 0 :(得分:1)
您正尝试在toLowerCase
的属性上调用i
方法,该属性不存在。假设i
通常包含这些值,但有时会遗漏其中的一些,您可以通过更改每个
if(i.whatever.toLowerCase()
到
if(i.whatever && i.whatever.toLowerCase()