0

ng-model + 검색 입력 줄에 텍스트 입력을 사용할 때 불완전한 값이 나타납니다.AngularJS 필터가 불완전한 값과 일치하는 이유

예를 들어, 텍스트 입력에 "li"라고 쓰면 "B Lifting"이라는 결과가 다시 나타납니다. 그러나 "lifting"을 쓰려고하면 결과가 표시되지 않습니다. 내가 "kl"이라고 쓰면 "Gulklokken"을 얻을 수 있지만, "Gulklokken"을 검색하면 결과가 표시되지 않습니다.

나는 그 이유를 알 수없는 것 같습니다. 검색 창에

코드 :

<div id="searchBar" class="input-group input-group-lg"> 
     <input type="text" ng-model="search.hovedkunde" class="form-control" placeholder="Search here" ng-focus="focused = true" ng-blur="focused = false"> 
    </div> 

코드 결과를 표시합니다 :

 <div class="col-md-6"> 
      <div ng-if="search.hovedkunde" ng-controller="paginationCtrl"> 
       <table class="table table-hover"> 

        <tr> 

         <th><a href="" ng-click="predicate = 'hovedkundE_ID'; reverse=false">ID</a></th> 
         <th><a href="" ng-click="predicate = 'hovedkunde'; reverse=false"> Hovedkunde</a></th> 
         <th><a href="" ng-click="predicate = 'lonG_NAME'; reverse=false">Kundenavn</a></th> 
         <th></th> 

        </tr> 

        <tr ng-repeat="pro in filtered = (projects | filter: search) | sliceArray:bigCurrentPage*pageSize | limitTo : pageSize | unique:pro.projectId | orderBy:predicate:reverse "> 

         <td ng-click="setInfo(pro.projectId)">{{pro.hovedkundE_ID}}</td> 
         <td ng-click="setInfo(pro.projectId)">{{pro.hovedkunde}}</td> 
         <td ng-click="setInfo(pro.projectId)">{{pro.lonG_NAME}}</td> 
         <td ng-click="setInfo(pro.projectId)"><button type="button" class="btn btn-primary">Retrieve</button></td> 
        </tr> 

       </table> 

       <div class="text-center"> 
        <pagination total-items="bigTotalItems" ng-model="bigCurrentPage" max-size="maxSize" class="pagination" boundary-links="false" rotate="false" num-pages="numPages"></pagination> 
       </div> 

      </div> 
     </div> 
+0

같은 filter을 정의해야합니까? –

+0

흠. 이 프로젝트는 클라이언트 용이며 많은 중요한 데이터가 관련되어 있습니다. 바이올린에서 무엇이 필요합니까? 내가 게시 한 코드에 아무런 문제가 보이지 않습니까? – Praise

+0

정보가 충분하지 않습니다 - 어떻게 검색 필터를 사용 했습니까 (프로젝트 | 필터 : 검색) –

답변

0

filter 표현 당신이 비교을 지정할 수 있습니다. 제 (필터 식)에서 기대치와 (배열의 객체)의 실제 값이 일치하는 것으로 간주되어야 하는지를 결정하는데 사용된다


비교기.

function(actual, expected) :

은 다음 중 하나 일 수 있습니다 기능은 비교 대상 값과 조건 값을 부여하고 항목이 필터링 된 결과에 포함 할 필요가있는 경우에 true를 반환해야합니다.

true : 함수의 축약 형 (실제, 예상) {return angular.equals (expected, actual)}. 이는 본질적으로 예상과 실제의 엄격한 비교입니다.

false|undefined : 대소 문자를 구분하지 않고 부분 문자열 일치를 찾는 함수입니다. 귀하의 경우에는


, 당신은 당신이 jsfiddle을 공유 할 수이

filter:search.hovedkunde:true 
+0

나는 사실을 사용하려했지만, 그것은 100 % 동등한 가치만을 보여줄뿐입니다. "Soda"를 검색하면 "Soda"라는 모든 값 이름이 반환되지만 "Sodapop", "Sodabottles"등은 표시되지 않습니다. 아마도 false | undefined가 내가 찾고있는 것일 수 있습니까? – Praise

+0

예, false | undefined가 좋은 후보로 보입니다. –

+0

그래서 필터 만 있습니다 : search.hovedkunde : false? – Praise