source

변수에서 각도 "| 필터" 식의 결과 배열을 얻으려면 어떻게 해야 합니까?

factcode 2023. 4. 4. 22:29
반응형

변수에서 각도 "| 필터" 식의 결과 배열을 얻으려면 어떻게 해야 합니까?

각도에서는 필터 식을 다음과 같이 쓸 수 있습니다.

<input type="text" ng-model="query">

<table>
    <tr ng-repeat="phone in phones | filter: query">
       <td>{{phone.vendor}}</td>
       <td>{{phone.model}}</td>
    </tr>
</table>

그러면 테이블이 갱신되고, 그 테이블이 갱신되어 그 전화기와 일치하는 전화기만 표시됩니다.query에 입력하는 텍스트input.

필터의 해당 결과 배열(예:[phone object]변수(예를 들어 스코프 변수)에 현재 표시되어 있는s?

실제로 새 변수를 각도식으로 스코프에 할당할 수 있습니다.그래서 가장 간단한 해결책은<tr ng-repeat="phone in (filteredPhones = (phones | filter: query))">. filtered Phones는 현재 스코프의 변수가 되었습니다.이 plnkr의 예를 참조해 주십시오.

컨트롤러 내에서는, 유저에 대한 변경 내용을 확인할 수 있습니다.query텍스트와 동등한 Javascript를 사용합니다.{expression} | filter: {expression},어느 것이$filter('filter')(이름을 가진 필터 사용)'filter'군대에서$filter(주입해야 합니다).

HTML 스니펫이 컨트롤러 MyController에 의해 제어된다고 가정해 보겠습니다.다음으로 변경할 수 있습니다.

myApp.controller("MyController", ["$scope", "$filter", function($scope, $filter) {

    $scope.$watch('query', function(newVal, oldVal) {
      console.log("new value in filter box:", newVal);

      // this is the JS equivalent of "phones | filter: newVal"
      $scope.filteredArray = $filter('filter')($scope.phones, newVal);
    });
}]);

언제든지query변경, 필터링된 어레이는 다음과 같이 사용할 수 있습니다.filteredArray당신의 $190를 사용하시면filteredArray네 스니펫의 표현으로 말이야


이 모든 내용은 http://docs.angularjs.org/api/ng.$filter 및 http://docs.angularjs.org/api/ng.filter:filter에 기재되어 있습니다.단, 첫 번째 링크의 매뉴얼은 너무 희박하기 때문에 코멘트에서두 번째 링크로밖에 얻을 수 없습니다.docs에 추가하려고 했는데, angular 클로닝과 docs 구축 후 브라우저에서 접속이 되지 않고 API 네비게이션이 아무런 유용한 오류 없이 사일런트하게 실패했기 때문에 포기했습니다.

언급URL : https://stackoverflow.com/questions/16050533/how-can-i-obtain-the-result-array-of-an-angular-filter-expression-in-a-varia

반응형