>

angularjs 1.6 작업, 필터 문제

항목 배열에서 LowerCase ()를 적용하려고 시도했지만 사용하지 않았습니다. 이 문제를 해결하기 위해 어떻게 도와 줄 수 있습니까?

여기 코드가 있습니다.

<input type="text" placeholder="Search by name" ng-model="peer.searchString">
<div class="item ui very compact popup-element" ng-repeat="item in peer.healthList | filter: {'ServiceName': peer.searchString, 'Name': peer.Name}">
    <div style="display:flex; width:100%;cursor: pointer;" ng-click="onItemClick(item,peer, $event);">
        <div class="ui avatar image" ng-class="item.Status"></div>
        <div class="content">
        <div class="header popup popup-element exportable">{{item.ServiceName ? item.ServiceName : item.Name}} </div>
        </div>
        <div class="right floated meta">{{item.Status}}</div>
    </div>
</div>

다음은 목록 항목입니다.

ABC, BBA, abc 및 DCa ... API에서 가져 와서 채워지는지 여부

{{item.ServiceName ? item.ServiceName : item.Name}}

여기서 복잡해 필터링 할 수 있습니다. 대문자로 표시되지 않은 단어 만 필터링하며 단순히 필터링되지 않은 상태로 유지합니다.

'abc'만 검색하려고하면 필터링됩니다. 나머지 항목에 대해서는 목록에없는 것으로 보입니다.

감사합니다,


  • 답변 # 1

    AngularJs, 대소 문자를 구분하지 않는 가능한 복제본

    <div class="item ui very compact popup-element" ng-repeat="item in peer.healthList | filter: {'ServiceName': peer.searchString} : false">
    
    

    이 작동합니다!

  • 답변 # 2

    컨트롤러의 다른 변수로 응답 데이터를 가변 할 때 작동합니다.

    o.displayName = o.ServiceName ? o.ServiceName : o.Name;
    
    

    HTML에서 ServiceName이 정확히 복제 할 때 displayName을 사용했습니다. 실제 문제는 여러 필터 변수가 작동하지 않는다는 것입니다.

    감사합니다

관련 자료

  • 이전 jquery - 다른 페이지에서 스크롤 제거 클래스의 활성 메뉴
  • 다음 algorithm - 인코딩 된 시퀀스의 최소 거리 메트릭