AngularJS 및 ui-router에서 여러 모듈과 함께 작동하도록 중첩 된 뷰 가져 오기

존 맥아더

저는 1 개의 대형 모듈이있는 대형 AngularJS 애플리케이션으로 작업하고 있으며,이를보다 쉽게 ​​관리되는 모듈로 나누려고합니다.

메인 페이지에는 메뉴, 바닥 글, 콘텐츠, 사이드 바 등을위한 몇 가지 UI보기가 있습니다.

현재 각 $ stateProvider.state는 모든 상태 변경시 이러한 각 ui-view를 채 웁니다. 좀 더 계층 적으로 만 변경하고 루트 상태 만 변경하도록하고 싶습니다. 할 수 있습니다.

그러나 응용 프로그램을 모듈로 분할 할 때 문제가 있습니다. 시연하기 위해 Plunker만들었습니다 .

(function() {

  angular
    .module("acme", ["ui.bootstrap", "ui.router", "acme.admin", "acme.stock"]);


  angular
    .module("acme")
    .config(MainModuleConfig);

  MainModuleConfig.$inject = ["$stateProvider", "$urlRouterProvider", "$locationProvider"];

  function MainModuleConfig($stateProvider, $urlRouterProvider, $locationProvider) {
    //$locationProvider.html5Mode(true);

    var root = {
      name: "root",
      url: "/",
      views: {
        "menuView": {
          templateUrl: "app/menu/menuTemplate.html",
        },
        "mainView": {
          templateUrl: "app/mainTemplate.html",
          controller: "MainController",
          controllerAs: "vm",
        }
      }
    };

    $stateProvider
      .state("root", root);

    $urlRouterProvider
      .otherwise("/");
  }


})();

(function() {

  angular
    .module("acme.admin", ["ui.router"]);

  angular
    .module("acme.admin")
    .config(AdminConfig);

  AdminConfig.$inject = ["$stateProvider", "$locationProvider"];

  function AdminConfig($stateProvider, $locationProvider) {


    var admin = {
      name: "admin",
      url: "/Admin",
      views: {
        "menuView": {
          templateUrl: "app/menu/menuTemplate.html",
        },        
        "mainView": {
          templateUrl: "app/admin/adminTemplate.html",
        }
      }
    };

    var countries = {
      name: "admin.Countries",
      url: "/Admin/Countries",
      views: {
        "adminView": {
          templateUrl: "app/admin/adminCountriesTemplate.html",
          controller: "AdminCountriesController",
          controllerAs: "vm"
        }
      }
    }

    var people = {
      name: "admin.People",
      url: "/Admin/People",
      views: {
        "adminView": {
          templateUrl: "app/admin/adminPeopleTemplate.html",
          controller: "AdminPeopleController",
          controllerAs: "vm"
        }
      }
    }


    $stateProvider
      .state("admin", admin)
      .state("admin.Countries", countries)
      .state("admin.People", people);
  }


})();

관리 모듈 및 기타에서 "menuView"를 다시 설정하고 싶지 않지만 부모를 참조하는 방법을 볼 수 없습니다.

존 맥아더

문제를 해결했습니다.

먼저 메인 모듈에서 루트 상태를 설정했습니다.

      var root = {
        name: "root",
        url:"/",
        views: {
          "menuView": {
            templateUrl: "app/menu/menuTemplate.html",
          },
                      "mainView": {
              templateUrl: "app/mainTemplate.html",
              controller: "MainController",
              controllerAs: "vm",
            }
        }
        };

그런 다음 자식 모듈에서 기본 노드를 루트의 자식으로 변경하고 ui-view 이름에 @를 붙였습니다.

    var admin = {
      name: "root.admin",
      url: "/Admin",
      views: {
           "mainView@": {
          templateUrl: "app/admin/adminTemplate.html",
        }
      }
    };

plunker은 작업 예 업데이트되었습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

AngularJS를 사용하여 중첩 된 JSON에서 값 가져 오기

분류에서Dev

중첩 된 뷰와 함께 ui-router를 사용할 때 사용자 컨트롤러를 추가하는 방법은 무엇입니까?

분류에서Dev

angularjs-angular-ui-router로 중첩 된 명명 된 뷰에 대한 혼동

분류에서Dev

angularjs-angular-ui-router로 중첩 된 명명 된 뷰에 대한 혼동

분류에서Dev

다른 앱 (유성)과 함께 작동하도록 angularjs 앱 가져 오기

분류에서Dev

beautifulsoup을 사용하여 중첩 된 div에서 제목과 href 가져 오기

분류에서Dev

모달 내부의 중첩 된 뷰가 표시되지 않습니다. (ui-router 및 ui-bootstrap)

분류에서Dev

모달 내부의 중첩 된 뷰가 표시되지 않습니다. (ui-router 및 ui-bootstrap)

분류에서Dev

UI-Router와 함께 Angular를 사용하고 있으며 여러 뷰가 작동하도록 할 수 없습니다.

분류에서Dev

Elasticsearch : 배열에 여러 값 중 하나가 포함 된 모든 문서 가져 오기

분류에서Dev

ui-router에서 중첩 된 뷰 내에 중첩 된 뷰를 가질 수 있습니까?

분류에서Dev

맵과 뽑기를 사용하여 중첩 된 목록에서 값 가져 오기

분류에서Dev

JDT 및 AST를 사용하여 중첩 된 메서드 호출에서 유형 가져 오기

분류에서Dev

각도 2에서 중첩 된 모델을 사용하여 선택에서 값 가져 오기

분류에서Dev

각도 UI 라우터 중첩 된 UI 뷰가 작동하지 않음

분류에서Dev

Python3 및 jinja2를 사용하여 중첩 된 Json 응답에서 정보 가져 오기

분류에서Dev

중첩 된 JSON에서 데이터 가져 오기 및 Vue-Multiselect를 사용하여 표시

분류에서Dev

Python의 중첩 된 목록 이해를 사용하여 mongo 컬렉션에서 모든 문서 가져 오기

분류에서Dev

여러 클래스 내에 중첩 된 값 가져 오기

분류에서Dev

중첩 된 개체 쿼리 및 MongoDB에서 원하는 키 가져 오기

분류에서Dev

맵을 사용하여 중첩 된 목록에서 가져 오기

분류에서Dev

RDD.map 및 중첩 된 가져 오기가있는 함수

분류에서Dev

dataTable과 함께 primeNG를 사용하여 CSV 내보내기가 포함 된 중첩 된 JSON 개체

분류에서Dev

ASP Classic 및 aspJSON을 사용하여 중첩 된 JSON 값 가져 오기

분류에서Dev

C ++에서 중첩 된 JSON 배열 및 행렬 가져 오기

분류에서Dev

AngularJS로 중첩 된 Json 가져 오기

분류에서Dev

엔드 포인트에서 컨트롤러 및 작업 이름과 함께 매개 변수 가져 오기

분류에서Dev

False를 반환 할 수있는 IsNavigationTarget과 함께 Prism을 사용하여 중첩 된 뷰 작업

분류에서Dev

angularjs에서 모듈 이름 및 모든 종속성 목록 가져 오기

Related 관련 기사

  1. 1

    AngularJS를 사용하여 중첩 된 JSON에서 값 가져 오기

  2. 2

    중첩 된 뷰와 함께 ui-router를 사용할 때 사용자 컨트롤러를 추가하는 방법은 무엇입니까?

  3. 3

    angularjs-angular-ui-router로 중첩 된 명명 된 뷰에 대한 혼동

  4. 4

    angularjs-angular-ui-router로 중첩 된 명명 된 뷰에 대한 혼동

  5. 5

    다른 앱 (유성)과 함께 작동하도록 angularjs 앱 가져 오기

  6. 6

    beautifulsoup을 사용하여 중첩 된 div에서 제목과 href 가져 오기

  7. 7

    모달 내부의 중첩 된 뷰가 표시되지 않습니다. (ui-router 및 ui-bootstrap)

  8. 8

    모달 내부의 중첩 된 뷰가 표시되지 않습니다. (ui-router 및 ui-bootstrap)

  9. 9

    UI-Router와 함께 Angular를 사용하고 있으며 여러 뷰가 작동하도록 할 수 없습니다.

  10. 10

    Elasticsearch : 배열에 여러 값 중 하나가 포함 된 모든 문서 가져 오기

  11. 11

    ui-router에서 중첩 된 뷰 내에 중첩 된 뷰를 가질 수 있습니까?

  12. 12

    맵과 뽑기를 사용하여 중첩 된 목록에서 값 가져 오기

  13. 13

    JDT 및 AST를 사용하여 중첩 된 메서드 호출에서 유형 가져 오기

  14. 14

    각도 2에서 중첩 된 모델을 사용하여 선택에서 값 가져 오기

  15. 15

    각도 UI 라우터 중첩 된 UI 뷰가 작동하지 않음

  16. 16

    Python3 및 jinja2를 사용하여 중첩 된 Json 응답에서 정보 가져 오기

  17. 17

    중첩 된 JSON에서 데이터 가져 오기 및 Vue-Multiselect를 사용하여 표시

  18. 18

    Python의 중첩 된 목록 이해를 사용하여 mongo 컬렉션에서 모든 문서 가져 오기

  19. 19

    여러 클래스 내에 중첩 된 값 가져 오기

  20. 20

    중첩 된 개체 쿼리 및 MongoDB에서 원하는 키 가져 오기

  21. 21

    맵을 사용하여 중첩 된 목록에서 가져 오기

  22. 22

    RDD.map 및 중첩 된 가져 오기가있는 함수

  23. 23

    dataTable과 함께 primeNG를 사용하여 CSV 내보내기가 포함 된 중첩 된 JSON 개체

  24. 24

    ASP Classic 및 aspJSON을 사용하여 중첩 된 JSON 값 가져 오기

  25. 25

    C ++에서 중첩 된 JSON 배열 및 행렬 가져 오기

  26. 26

    AngularJS로 중첩 된 Json 가져 오기

  27. 27

    엔드 포인트에서 컨트롤러 및 작업 이름과 함께 매개 변수 가져 오기

  28. 28

    False를 반환 할 수있는 IsNavigationTarget과 함께 Prism을 사용하여 중첩 된 뷰 작업

  29. 29

    angularjs에서 모듈 이름 및 모든 종속성 목록 가져 오기

뜨겁다태그

보관