Вложенные представления VS Отдельные

Я пытаюсь выбрать угловую структуру для своего приложения. Я начал с Angular Full Stack Generator.

В UI-Router вы можете вкладывать состояния. Мне кажется логичным вкладывать связанные состояния. например: Registration, Registration.form, Registration.confirmation.... но эти вложенные состояния, похоже, полагаются на каждое дочернее представление и родительское представление, просматриваемое на одной странице.

Это означает, что у родителя будет тег <ui-view>, который будет вставлять дочернее представление при вызове.

Возможно ли, чтобы вложенное состояние заменило родительское?
Или мне нужно просто создать невложенные состояния?
Или это случай абстрактного состояния?


person csduarte    schedule 08.04.2015    source источник


Ответы (1)


Существует рабочий пример

Ребенок, заменяющий родителя, является почти «родным» решением UI-Router. Давайте иметь определения этого состояния:

.state('parent', {
    url: "/parent",
    templateUrl: 'tpl.html',
})
.state('parent.child', { 
    url: "/child",
    templateUrl: 'tpl.html',
    controller: 'ChildCtrl',
})

И это будет tpl.html, в нашем случае используемое для обоих состояний:

<div ui-view>
  <h3>current state name: <var>{{$state.current.name}}</var></h3>
   ...  
</div>

Итак, что мы видим, родительский корневой HTML-элемент имеет атрибут ui-view. Значит, этот элемент также играет роль мишени для ребенка.

Проверьте это в действии здесь

person Radim Köhler    schedule 08.04.2015