Пожалуйста, посмотрите этот рабочий поршень . Я отключил режим HTML5, потому что он мешает правильной работе плунжера.
Основная проблема с вашим кодом заключалась в том, что вы перенаправили на /dashboard
, в этом утверждении:
$urlRouterProvider.otherwise("/dashboard");
Обратите внимание, что home.dashboard
является дочерним состоянием home
. Таким образом, по умолчанию URL должен предшествовать URL-адресу состояния home
. Таким образом, правильное утверждение будет:
$urlRouterProvider.otherwise("/home/dashboard");
Если вам не нужен предыдущий /home
, вам нужно изменить конфигурацию маршрута для состояния home.dashboard
на следующее:
.state("home.dashboard", {
url: "^/dashboard",
templateUrl: "dashboard.html"
});
Предыдущий ^
делает URL-адрес абсолютным и освобождает его от любого URL-адреса предыдущего родительского состояния. Так что теперь оператор $urlRouterProvider.otherwise("/dashboard");
будет работать как есть.
После этого изменения код может загрузить шаблон home.html
в представлении. Кроме того, у вас не было никаких директив ui-view
в home.html
, в которые мог бы загружаться шаблон home.dashboard
. Поэтому я добавил элемент <div ui-view></div>
в home.html
, чтобы он работал правильно.