Я использую Angular 1.6.2 и UI Router. Я все еще пытаюсь правильно изучить концепции, но пришел к дорожному блоку.Не могу получить состояние внука для работы с UI-маршрутизатором
У меня есть родительское состояние, которое называется app
с использованием MainController
и связкой дочерних состояний. Однако теперь я хочу идти на один уровень глубже, делая состояния внуков.
Следующие коды оставляют меня с пустой страницей при загрузке www.example.com/manage-users/edit/1
, не загружая состояние бабушки и дедушки.
Однако он работает, если я делаю app
родителем edit-users
(тот, который я хочу сделать на третьем уровне), но это не совсем правильный путь. Потому что после этого мне нужно использовать родительские состояния по другим причинам.
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<base href="/">
// loading JS/CSS etc
</head>
<body ng-app="sampleApp">
<div class="container">
<div ui-view></div>
</div>
</body>
</html>
parent.html
<div ng-controller="MainController as data">
// more html
<div ui-view></div>
</div>
управления-users.html
<div class="col-sm-12" ng-controller="UserController as data">
// more html
<div ui-view></div>
</div>
управляют пользователи-edit.html (работает только тогда, когда я делаю родительское состояние 'приложения' вместо 'Manage-пользователей
<div>Hello World! This is the Edit HTML Page</div>
app.js установки штатам
$stateProvider
.state('app', {
templateUrl: 'views/parent.html',
controller: 'MainController as data'
})
.state('manage-users', {
parent: 'app',
url: '/manage-users',
templateUrl: 'views/manage-users.html',
controller: 'MainController as main'
})
.state('edit-users', {
parent: 'manage-users',
url: '/manage-users/edit/:id',
templateUrl: 'views/manage-users-edit.html',
controller: 'MainController as main'
});
Благодарим за это, это помогло мне немного узнать и позиционировать мои 'ui-view' и т. Д., И я на самом деле применил вашу стратегию просмотров выше. Но, несмотря на все это, как только я скажу «edit-users», чтобы родитель, который не является 'app'it, терпит неудачу. – Adrian
ваш редактор заметил проблему! После этого он теперь работает, спасибо большое! – Adrian