1

내 응용 프로그램에는 복잡한 모델을 관리하는 구성 요소의 인스턴스가 여러 개 있어야합니다. anglejs app 디자인 동일한 구성 요소의 여러 인스턴스 (지시문 또는 지시문 + 컨트롤러)

모델 및 I'v이 지침을 만든 자식 지침을 템플릿을 포함한 UI/DOM 로직,

것은이 모델의 각입니다을 표시/지시는 나는 또한 조작과 같은 일부 비즈니스 로직을 필요로 서버에서 추가 데이터를 모델링/검색하는 등의 작업을 수행 할 수 있습니다.

화면에 표시되는 할 일 목록 10 개를 표시하는 앱을 예로들 수 있습니다.

제 질문은 지시어와 컨트롤러가 동일한 요소에서 시작되어 단일 모델을 관리하기 위해 동일한 범위를 공유하는 방식으로 각 구성 요소에 컨트롤러 인스턴스를 갖는 것이 좋은가요?

<div class="todo-ui-directive" ng-repeat="todoList in lists" ng-controller="todoCtrl"> 
</div> 
+0

마크 대답 por 호의? – tommybananas

답변

2

확실히 비즈니스 로직을 공유하기 위해 서비스를 사용하고 싶습니다. 지시문에 종속성 삽입을 사용하면 다음을 달성 할 수 있습니다. Injecting service to Directive

지시어는 인스턴스간에 공유 할 컨트롤러를 만들 수도 있습니다. 찾고있는 솔루션이 둘 모두의 좋은 조합 일 것입니다. http://jasonmore.net/angular-js-directives-difference-controller-link/

+0

고맙습니다. 컨트롤러를 사용하여 데이터를 검색하는 것이 아니라 컨트롤러에서 요청을 호출하는 것과 같지만 물론 검색 자체는 서비스를 사용하여 수행됩니다. 주요 아이디어는 내 비즈니스 로직을 배치 할 어딘가가 필요하다는 것이었다. – Barak

+0

지시어 컨트롤러와 관련하여 나는 – tommybananas

+0

지시어 컨트롤러와 관련하여 찾고있는 것처럼 들릴 수도 있지만 다소 혼란 스럽다. 지금까지이 기능을 사용하여 범위를 노출하지 않고 다른 지시문 용 API를 노출했습니다. 여기가 실제로 필요한 것은 아닙니다. – Barak

관련 문제