2017-01-23 1 views
-1

저는 Angular를 처음 접했고 최근 MVC 사이트에서 Angular를 사용하는 과정을 밟았습니다. 나는 지금 훈련에 나타난 것을 취해서 내가 해낸 작은 사이트에서 그것을 구현하려고 노력하고있다. 교육에서 다루지 않는 요구 사항이 있으며 코드 작성 방법을 정확히 알지 못합니다.처음 AngularJS를 사용하여 클라이언트에서 데이터를 필터링하는 방법은 무엇입니까?

이것은 소규모 회사가 메시지를 남길 때 고객 통화를 추적하기위한 사이트입니다. 레코드는 열림, 닫힘, 진행 중, 콜백 등의 많은 상태 중 하나 일 수 있습니다.

페이지가 시작되면 모든 레코드를 반환하는 웹 서비스를 호출합니다. 그러나 처음에는 "OPEN"으로 필터링하고 드롭 다운 목록에서 다른 필터를 선택하기 전까지 표시합니다. 따라서 기본 상태는 "1"또는 "OPEN"입니다.

페이지를로드 한 후 레코드를 필터링하는 좋은 방법은 무엇입니까? 나는 vm.FilterId와 같은 속성을 필요로한다고 가정하고 있는데 어느 내가 처음에 "1"로 설정 한 다음 dropdownlist가 그 값을 변경하겠습니까?

클라이언트에서 데이터를 필터링하는 방법은 무엇입니까?

내 angualr 파일에서 "call.controller.js"라는 API 호출이 있습니다.

function callList(){ 
    dataService.get("/api/Call") 
    .then(function(result) { 
     vm.calls = result.data; 
    }, 
    function (error) { 
     handleException(error) 
    }); 
} 

이것은 내 태그를 표 태그 안에 넣는 ng-repeat입니다. 나는 이것이 내가 어떤 종류의 필터링을하려고 노력할 것이라고 가정하고있다.

<tr ng-repeat="call in vm.calls"> 

UPDATE 내가 처음에 필터링 같은 것을 할 수 있어야 이해하고있는 무슨에서

? 이것은 아무것도 반환하지 않습니다. 상태 필드는 정수입니다.

<tr ng-repeat="call in vm.calls | filter:{ status: 1}"> 

값은 API에서 확인할 수 있습니다. enter image description here

+0

문서 : https://docs.angularjs.org/guide/filter – Claies

+0

감사합니다 , 나는 이것도 보게 될 것이다. – Caverman

답변

1

파이프를 사용하여 ng-repeat 지시문을 필터링 할 수 있습니다.

옵션 1 :

<div ng-repeat="call in vm.calls | filter:{ open: value}"> 

옵션 2 :

Value source: <input type="text" ng-model="search.open"> 
<div ng-repeat="product in products | filter:open"> 
당신은 예를 확인할 수 있습니다

here

+0

감사합니다. 비슷한 일 이겠지만 구현 방법을 모르겠습니다. 내가 가지고있는 옵션 1을 살펴보고 "열기"가 제 각도 파일에 설정할 속성 일 것이라고 가정합니다. 그러면 "1"로 기본 설정하고 내 드롭 다운 목록을 해당 속성에 연결합니다. – Caverman

+0

열기는 서비스에서 가져온 개체의 속성입니다. 필터는 오브젝트의 열린 필드와 사용자가 입력 한 값의 비교를 수행합니다. 값은 당신이 말한 것처럼 드롭 다운리스트를 통해 변경할 수있는 모델 속성 일 수 있습니다. – doriak

+0

초기 게시물에 대한 업데이트를 추가했습니다. 귀하의 권장 사항과 내가 지금까지 연구 한 내용을 토대로이 점을 생각해 냈지만 아무 것도 표시하지 않습니다. 를 호출하십시오. 그 일을 방해 할만한 것을 보았습니까? – Caverman

관련 문제