Ionic AngularJS没有过滤数据。

12 浏览
0 Comments

Ionic AngularJS没有过滤数据。

这是我的控制器:\n

$scope.professionList = [];
$scope.searchText = '';
$scope.$on('$ionicView.enter', function() {
    PeopleSearchService.setSearchParams(undefined);
})
$scope.$on('$ionicView.loaded', function() {
    $scope.professionList = Constants.professionList();
})

\n我有这个简单的HTML:\n

  
    
  {{profession.name}}

\n在控制器中,我有\n $scope.searchText = \'\';\n在文本框中输入任何内容都不会过滤列表。

0
0 Comments

Ionic AngularJS不过滤数据的原因可能是filter过滤器没有正确应用。解决方法是在ng-repeat指令中添加filter过滤器,并传入要过滤的数据和搜索文本。以下是修复后的代码:


  
  
    
  • {{data.profession}}

这样,当用户在搜索框中输入文本时,ng-repeat指令将自动过滤sampleData数组中的数据,并只显示与搜索文本匹配的项。

0
0 Comments

Ionic Angularjs无法过滤数据的原因是,searchText输入框位于ng-if="showSearchBox"中,这就是为什么它将searchText作为子作用域变量放在ng-if元素的子作用域中(ng-if/ng-repeat会创建原型继承的子作用域)。

为了避免这种问题,定义模型或使用controllerAs模式时,始终遵循Dot Rule,以避免作用域相关的问题。

Dot Rule示例:

类似的答案可以在这里找到:类似问题的解答

0