2013-07-23 2 views
0

검색 결과 페이지가 있습니다. 검색 결과 페이지는 기본적으로 하나의 대형 컨트롤러입니다. 나는 필터를위한 코드를 가지고 있지만 이것은 백 앤드로 다른 검색을 만들고 다른 배열 집합을 반환하지 않기 때문에 anglejs 필터가 아닙니다. 검색 결과 컨트롤러에서 필터가 분리되어 있기 때문에 검색 결과 컨트롤러에서 필터를 유지하려고합니다. 내 질문은 : 나는 그것을 다른 컨트롤러로 만들고 searchResults 컨트롤러에 브로드 캐스트를 변경하거나 서비스로 만들거나 실제로 필터로 사용합니까?검색 결과 필터 - 컨트롤러 또는 서비스 또는 필터?

저는 현재 스코프를 사용하는 데있어 separete 컨트롤러가 더 유용하다고 생각하지만 $ rootScope 만 사용할 수있는 서비스가 있습니다.

전반적으로 필터와 컨트롤러를 요구하는 것이 무엇인지 아는 것이 좋습니다.

답변

0

모두 데이터 필터링을 수행 할 위치에 따라 다릅니다. 서버 측에서 사용한다면, 이미 데이터를 얻기 위해 이미 사용하고있는 서비스에 넣을 것입니다. 데이터를 얻기 위해 서비스를 사용하지 않는다면 먼저 컨트롤러에서 데이터를 빼내는 것이 좋습니다.

모든 데이터를 가져 와서 클라이언트에서 필터링을 처리하려는 경우 필터 모듈을 만들어 뷰에 호출 할 수 있도록 앱에 전달할 수 있습니다. 필터링의 복잡성에 따라 Angular의 내장 필터 중 하나를 사용하는 것만 큼 간단 할 수 있습니다.

달성하려는 목표에 대해 자세히 알지 못해 더욱 구체적인 정보를 얻지 못합니다.

+0

현재 저는 서비스입니다 만, 내가 좋아하지 않는 $ rootScope를 많이 사용해야합니다. 컨트롤러 용 컨트롤러와 해당 컨트롤러에 연결된 서비스가 더 좋은 방법일까요? – Malcr001

+0

일반적으로 서비스에 $ rootScope를 사용할 필요는 없습니다. 일반적으로 컨트롤러에 모듈을 전달하고 그런 식으로 사용합니다. 필터에 관한 한, 필터링하고 싶은 것을 정확하게 모른 채 말하기는 어렵습니다. 각도 내장 필터는 값을 기준으로 결과를 좁히는 훌륭한 작업입니다. 그러나보다 변형적인 작업을 수행하려면 사용자 정의 필터가 필요합니다. – Sharondio

+0

angularjs 필터는 전체 결과가 필터링을 수행하는 데 필요한 모든 항목으로 설정되어있는 경우에만 좋지만 그렇지 않은 것 같습니다. 내 필터 목록에는 기본적으로 다양한 시설에 대해 다양한 태그가 지정된 필터 옵션 목록이 포함되어 있지만 대부분의 작업은 백엔드에서 수행됩니다. 내가 $ rootScope (내가 그때)를 많이 사용해야한다면 컨트롤러 대신 만들어야한다고 생각하고있다. – Malcr001