2016-06-03 3 views
0

ui-router에서 다단계 중첩이 작동하지 않습니다. state "home.hello"의 템플릿 인 "tpl.hello.html"이라는 템플릿 안에 "ui-view"를 추가했습니다. 이 "home.hello"상태는 "home"상태의 하위 상태입니다.각도 : UI-Router에서 중첩 된 상태가 작동하지 않습니다.

.state('home.hello.test', { 
     url: '/test', 
     templateUrl: 'tpl.hellonested.html' 
}) 

을 그러나 "home.hello.test"상태 안에 "home.hello"상태를로드하지 않습니다 그 후 나는 stateprovider에 다음과 같은 상태를 추가했습니다.

여기에 plunkr이 있습니다.

+0

나는 plunkr과 그 일을 올바르게 시도했다. –

답변

0

나는 어떤 문제를 볼 didnt가하고 plunkr에 따라, 당신의 경로는 "Home.Home1"로 이동 그렇다면, 그것은 것 하지 부하 "홈

-Home 
    *Home.Home1 
     >Home.Home1.Test 
    *Home.Home2 

입니다 .Home1.Test ", ""Home.Home1.Test"을로드하면 모든 부모 상태도로드됩니다. plunkr입니다 (방금 수정 한 것입니다).

+0

나는 Tom Shen와 똑같은 말을 깨달았다. –

+0

plunkr로 설명해 주셔서 감사합니다. – Vivek

0

당신은 ui-router에서 중첩에 대한 잘못된 생각을 가지고 있다고 생각합니다. 자식 상태는 부모 상태를로드하고 다른 상태는로드하지 않습니다.

링크 테스트를 클릭하면 부모 상태 (home.hello)가 하위 상태 (home.hello.test)로로드되었음을 사용자 자신의 plunkr에서 볼 수 있습니다.

<div ui-view></div>은 상위보기에서 하위보기의 위치를 ​​정의합니다. 상위 뷰 위에 배치하면 하위 뷰는 상위 뷰의 맨 위에로드되고 맨 아래에 배치하면 맨 아래에로드됩니다.

이 당신을 도울 것이 link

희망에 대한 좋은 문서가있다.

+0

자식 상태가 부모 상태를로드하는 것을 알고 있지만 내 문제는 다중 수준 중첩 상태와 관련되어 있습니다. 그래서, "home.hello"는 "home.hello.test"의 부모 상태이고 html을 렌더링하지 않는 이유는 무엇입니까? – Vivek

+0

html을 렌더링하지만 자식 상태가 될 때만 렌더링합니다. 마지막 링크 (자녀 상태로)를 클릭하면 자녀 HTML과 부모 HTML이 렌더링됩니다. 부모님의 상태로 가면 자녀가 html로 렌더링되지 않습니다. 그것이 국가가 작동하는 방식입니다. 다중 레벨 중첩 상태는 동일한 원리이며, 더 많은 레이어가 있습니다. –

관련 문제