0

내 프로젝트에서 중첩 된 상태를 구현하려고하지만 예상대로 작동하지 않습니다.AngularJs : 중첩 된 상태가 표시되지 않음

보기 템플릿 및 js 호출이 만들어지고 뒷면에로드되지만 화면이 변경되지 않더라도 중첩 된 화면이 표시되지 않습니다.

에 http : // {도메인}/#/응용 프로그램/저장/사용자/1/새로운 아래

내 작품

.state('app.store.users', { 
    url: '/users/:storeid', 
    params: { storeid: '1' }, 
    templateUrl: 'store/users', 
    controller: 'UsersController', 
    require: ['users', 'datatables'], 
    data: { 
    displayName: 'Store Users' 
    } 
}) 
.state('app.store.users.new', { 
    url: '/new', 
    templateUrl: 'store/newuser', 
    controller: 'NewUserController', 
    require: ['newuser'], 
    data: { 
    displayName: 'New User' 
    } 
}) 
; 

HTTP의 코드입니다 : // {도메인}/#/응용 프로그램/매장/사용자/1/새로운

하지 NEWUSER사용자을 표시 URL 위의 고려.

미리 감사드립니다.

+0

URL이 표시/응용 프로그램/저장/사용자처럼 왜 ...? 앱/스토어는 어디에서 제공됩니까? –

+0

콘솔에 오류가 있습니까? –

+0

@ZeRubeus 'app'과 'app.store'위에 두 개의 부모 상태가 순차적으로 '/ app'및 'app/store'라는 URL이 있습니다. 때까지/사용자 것들이 잘 작동합니다. – ANKIT

답변

1

부모보기에 ui-view을 포함시켜야 만 자식보기가 첨부되어 있음을 알 수 있습니다.

는 기본적으로 (응용 프로그램을

<div ui-view></div> 

또는 당신이 아이의 상태에 대한 HTML을로드 할 위치 app.store.users 장소에서 상태의 부분에서

<ui-view></ui-view> 

포함 .store.users.new)

이것은 ui-router가 작동하는 방식입니다.

확인 더 잘 이해하기 위해이 plunker : http://plnkr.co/edit/u18KQc?p=preview

편집 : 당신은 그들이 부모 - 자식 관계에 있으면 안 두 개의 화면으로 그들을 원하는 경우

. URL은 여전히 ​​중첩 될 수있는 두 개의 개별 상태 여야합니다. 상태 이름을 서로 독립적으로 변경하십시오. 이 같은

뭔가 작동합니다

.state('app.store.users', { 
    url: '/users/:storeid', 
    params: { storeid: '1' }, 
    templateUrl: 'store/users', 
    controller: 'UsersController', 
    require: ['users', 'datatables'], 
    data: { 
    displayName: 'Store Users' 
    } 
}) 
.state('app.store.newusers', { 
    url: '/users/:storeid/new', 
    params: { storeid: '1' }, //you still have to pass params to it 
    templateUrl: 'store/newuser', 
    controller: 'NewUserController', 
    require: ['newuser'], 
    data: { 
    displayName: 'New User' 
    } 
}); 
관련 문제