Когда сначала щелкнет состояние, div, которому принадлежит атрибут "ui-view", заменяется "шаблоном" этого состояния. Однако, когда я снова нажимаю одно и то же состояние, его контроллер не перезагружается. Как я могу снова загрузить этот контроллер?
Например, предположим, что у меня есть следующее меню навигации:
<nav>
<a ui-sref="state1">State 1</a>
<a ui-sref="state2">State 2</a>
</nav>
Мой контент "ui-view" выглядит следующим образом:
<div ui-view></div>
Мои состояния описаны ниже. Когда я нажимаю "State1" в меню навигации, я ожидаю увидеть текст "Ctrl 1 loaded"
на developer console
. Если это первый раз, я наблюдаю этот текст. Однако, когда я повторно нажимаю одну и ту же ссылку, контроллер не загружается снова, то есть я не мог дважды увидеть текст "Ctrl 1 loaded"
, отображаемый на консоли.
myApp.config(function ($stateProvider, $urlRouterProvider){
$stateProvider.state("state1", {
url: "#",
template: "<p>State 1</p>",
controller: "Ctrl1"
}).state("state2", {
url: "#",
template: "<p>State 2</p>",
controller: "Ctrl2"
});
});
Почему? У вас есть идеи?
Вот JSFiddle этого вопроса.