2016-06-07 1 views
1

Возможно ли использовать состояние, определенное в ui-router's $stateProvider на вид?Использование углового ui-router State в шаблоне страницы

Например мое состояние выглядит следующим образом:

$stateProvider 
    .state('peoplelist', { 
     template: '<people></people>', 
    }) 

И мой HTML, как это:

<div class="header"> 
    <button ng-click="updateList()"></button> 
</div> 

<!-- peoplelist view to go here--> 

<div class="footer">...</div> 

У меня есть это в мой контроллер, где я хочу $state.go перезагружать только peoplelist состояние , а не всю страницу.

vm.updateList = function() { 
    $state.go($state.current, {}, { reload: 'peoplelist' }); 
} 

Возможно ли это в Угловом?

Любая помощь приветствуется. Заранее спасибо!

ответ

0

Вы можете сделать отдельный контроллер для peopleList государства, как и упоминание его в государственном Defination как:

$stateProvider 
    .state('peoplelist', { 
     template: '<people></people>', 
     controller: 'peopleListController' 
    }) 

И в вашем peopleListController вы можете сделать

$state.reload() 

просто перезагрузить это состояние

Кроме того, если вы хотите перейти в это состояние из другого состояния, вы можете использовать $ state.go как:

$state.go('peopleList') 

Он будет загружать только контроллеры peopleList в соответствии с вашим защитой вашего штата.

Вы также можете передать параметры в $ state.go и их в состояние защиты.

Вы можете получить к ним доступ, используя $ stateParams в своем контроллере.

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