首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >角度过滤器不会返回真值

角度过滤器不会返回真值
EN

Stack Overflow用户
提问于 2016-11-24 00:40:43
回答 3查看 64关注 0票数 0
代码语言:javascript
运行
复制
<input type="text" ng-model="searchBuddy" placeholder="search"  />
<div class="square">
  <div class="list no-padding" ng-repeat='buddy in buddyList | filter : search'>
    <a class="item item-avatar" href="#">
      <img src="{{buddy.photoURL}}">
      <h2>{{buddy.firstname}}</h2>
      <p>{{buddy.lastname}}</p>
    </a>
  </div>
</div>`  

这是我的HTML代码

代码语言:javascript
运行
复制
$scope.search = function (item) {
  if($scope.searchBuddy == undefined || $scope.searchBuddy == '' ) {
    return false;
  } else {
    if(item.firstname.toLowerCase().indexOf($scope.searchBuddy.toLowerCase())!= -1) {
      return true;
    }
  }
  return false;
}

这是我的控制器代码

在我看到的示例中,如果输入searchbuddy为空,它将返回false,这将导致带有ng-repeat的html div现在显示任何内容。否则,如果输入了一些内容,并且以某种方式从firstname获取了一些内容,它将返回true,并显示与搜索输入相对应的数据。但在我的情况下,它不会,我不知道为什么。

EN

回答 3

Stack Overflow用户

发布于 2016-11-24 03:02:37

您的第二个if语句中有一个错误。当它应该是$scope.searchBuddy时,您引用的是$scope.searchText,因为这是您正在使用的模型值。

票数 0
EN

Stack Overflow用户

发布于 2016-11-24 03:22:59

使用带有过滤器的ng-model

代码语言:javascript
运行
复制
<input type="text" ng-model="searchBuddy" placeholder="search"/>
<div class="square">
  <div class="list no-padding" ng-repeat="buddy in buddyList |searchBuddy'>
    <a class="item item-avatar" href="#">
      <img src="{{buddy.photoURL}}">
      <h2>{{buddy.firstname}}</h2>
      <p>{{buddy.lastname}}</p>
    </a>
  </div>
</div>
票数 0
EN

Stack Overflow用户

发布于 2016-11-24 03:27:28

代码语言:javascript
运行
复制
if(item.firstname.toLowerCase().indexOf($scope.searchBuddy.toLowerCase())!= -1) {
      return true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40769884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档