我正在学习本教程:
http://www.toptal.com/angular-js/a-step-by-step-guide-to-your-first-angularjs-app
在我的控制器中,我有这个功能:
$scope.searchFilter = function (driver) {
var keyword = new RegExp($scope.nameFilter, 'i');
return !$scope.nameFilter || keyword.test(driver.Driver.givenName) || keyword.test(driver.Driver.familyName);
};
在我的HTML中,我有这一行:
<tr ng-repeat="driver in driversList | filter: searchFilter">
在html的搜索栏中,我有这一行:
<input type="text" ng-model="nameFilter" placeholder="Search..."/>
在searchFilter函数中做了什么:
return !$scope.nameFilter
当我在搜索栏中输入任何内容时,是否要考虑?如果是这样,它是如何工作的?
答案 0 :(得分:1)
$scope.nameFiler == ''
时(或null,未定义)
searchFilter将返回true
因此,当用户未在搜索框中输入任何内容时,过滤器应返回所有项目。