angularjs 및 필요한 경우 ui-router를 사용하여 매우 큰 단일 페이지 응용 프로그램을 구성하는 가장 좋은 방법과 관련된 질문이 있습니다.AngularJS를 사용하는 '포털'또는 MDI 기능과 같은 대형 단일 페이지 응용 프로그램
내 시나리오는 이렇습니다.
- 트렌드 모듈, '비즈니스'분석기, 대시 보드/작업 공간 및 기타 여러 가지 구성 요소가 있습니다.
- 런처 사이드 바에서 모듈은 구식 MDI Windows 응용 프로그램과 같이 별도의 탭에서 한 번 이상 열 수 있습니다.
- 일부 모듈은 완전히 독립적이며 일부 모듈은 페이지의 어딘가에있을 수있는 공통 필터링 위젯을 사용/공유 할 수 있습니다.
일반적으로 이러한 각 구성 요소는 별도의 탭에서 여러 번 열 수 있으므로 사용자가 워크 플로의 일부로 쉽게 전환 할 수 있습니다. 또 다른 한 가지는 URL 연결이 모든 항목에 지원되어야한다는 것입니다. URL을 열면 URL 링크 인 모든 "탭"을 다시 열지 않아도됩니다.
angularjs를 사용할 때 나의 제한된 이해로 지금까지이 작업을 수행하는 가장 좋은 방법은 대규모 프로젝트에 권장 된대로 별도의 비즈니스 모듈로 프로젝트를 분할하는 것이 었습니다. 각 비즈니스 모듈은 관련 템플릿, 서비스, 지시문 등을 포함합니다.
그런 다음 ng-include를 사용하여 템플릿을 포함시킨 다음 각 비즈니스 모듈에 대한 컨트롤러를 인스턴스화 할 수있었습니다. 동일한 컨트롤러를 여러 번 인스턴스화하고 자체 데이터를 분리하여 보관할 수 있는지 테스트했습니다. 또한 특정 컨트롤러가 만들어 질 때마다 필요한 템플릿을 포함시켜야합니다. 이는 동일한 모듈을 별도의 탭에서 두 번 이상 인스턴스화하려는 경우에 적용됩니다.
이것은 잠재적으로이 문제를 해결할 수있는 여러 개의 ui-views를 지원하는 ui-router 대안을 제공하지만 url 연결 문제는 해결되지 않지만 아직 그것에 대해 충분히 알지 못합니다. ui-router를 사용하면 각보기의 "인스턴스"를 포함하는 URL 구문을 포함시킬 수는 있지만 어떻게해야하는지에 대해서는 확신 할 수 없습니다. 수동으로 부트 스트래핑 된 여러 개의 앱을 사용한다는 생각은 다른 모듈 간의 통신 가능성을 줄여 주므로 일반 의견으로는 이것이 나쁜 아이디어라는 것을 알 수 있습니다.
이 상황에서 좋은 접근 방법에 대한 의견 및 건설적인 의견을 보내 주시면 감사하겠습니다.
나는 여러 애플리케이션 문에 관해서 내 질문을 명확히 한 참조 하나의 HTML에서 하나의 ngApp를 사용할 수 있습니다. http://stackoverflow.com/questions/12860595/how-to-define-two-angular-apps-modules-in-one-page – Lothar7