2015-07-03 2 views
0

Поскольку я работаю над угловым приложением, мне было интересно узнать о ui-route вложенных состояниях.Вложенное дочернее состояние с ui-router

Как сказаны в docu, можно создать вложенное состояние, такие как (взято из дока):

$stateProvider 
    .state('contacts', { 
    templateUrl: 'contacts.html', 
    controller: function($scope){ 
     $scope.contacts = [{ name: 'Alice' }, { name: 'Bob' }]; 
    } 
    }) 
    .state('contacts.list', { 
    templateUrl: 'contacts.list.html' 
    }); 

Но можно ли создать состояние granchild? (возможно, добавив что-то вроде):

.state('contacts.list.state', { 
    templateUrl: 'html_file.html' 
)} 

ответ

1

Да, вы можете сделать это так, как вы предложили. EG:

$stateProvider 
    .state('contacts', { 
    url: '/', 
    templateUrl: 'contacts.html', 
    controller: function($scope){ 
     $scope.contacts = [{ name: 'Alice' }, { name: 'Bob' }]; 
    } 
    }) 
    .state('contacts.list', { 
    url: ':list', 
    templateUrl: 'contacts-list.html' 
    }) 
    .state('contacts.list.fullDetails', { 
    url: '/fullDetails', 
    templateUrl: 'contacts-list-full-details.html' 
    }); 
+0

Спасибо! У меня также есть другой вопрос (возможно, я должен включить его в редактирование для первого или создать новую тему). Я хотел бы использовать родительское состояние с динамическим дочерним состоянием. Государство будет «contact.state» с этим url '/: state'. Поскольку состояние внука возможно, я думаю, что в этом случае должно быть хорошо. Был ли я прав? – Arhyaa

+0

@ Архьяа Эй! Да, вы можете сделать динамический URL-адрес следующим образом: 'url: '/ contact /: someId'' –

+0

Я постараюсь использовать его, спасибо большое :) – Arhyaa

Смежные вопросы