构建按名称过滤的自定义 angular 过滤器
Building custom angular filter that filters by name
我正在学习本教程:
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
是否考虑到我在搜索栏中没有输入任何内容?如果可以,它是如何工作的?
当 $scope.nameFiler == ''
(或 null,未定义)
searchFilter 将 returns true
因此,当用户未在搜索框中输入任何内容时,过滤器应该 return 所有项目。
我正在学习本教程:
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
是否考虑到我在搜索栏中没有输入任何内容?如果可以,它是如何工作的?
当 $scope.nameFiler == ''
(或 null,未定义)
searchFilter 将 returns true
因此,当用户未在搜索框中输入任何内容时,过滤器应该 return 所有项目。