Я всегда использовал ngRoute для своих задач маршрутизации, пока мне не понадобятся вложенные представления.UI Router: как передать параметры вложенным представлениям
Я использую ui-router в первый раз, и это здорово, за исключением одной вещи: мне нужно передать параметр в вложенные представления.
Идея - это список виджетов, каждый из которых имеет идентификатор. Я хочу, чтобы этот идентификатор был доступен для контроллера вложенных представлений.
Вот вымышленный идея о том, что у меня есть:
home.html
<li data-ng-repeat="widget in vm.widgets">
<div ui-view="{{widget.template}}"></div>
</li>
app.config (часть ...)
.state('home', {
url: '/home',
views: {
'': {
controller: 'HomeController',
controllerAs: 'vm',
templateUrl: 'Scripts/app/home/home.html'
},
'[email protected]': {
controller: 'BleblehController',
controllerAs: 'vm',
templateUrl: 'Scripts/app/views/blebleh.html'
},
'[email protected]': {
controller: 'BlablahController',
controllerAs: 'vm',
templateUrl: 'Scripts/app/views/blablah.html'
}
}
})
Так, скажем, у меня есть для vm.widgets:
[
{
widgetId: 1,
template: 'blablah'
},
{
widgetId: 2,
template: 'blebleh'
}
]
Как я могу передать 1 (widgetId) в BlablahController и 2 (widgetId) в BleblehController?
Я пробовал несколько вещей с помощью $ stateParams, но без успеха. Не удалось найти решение или ответить в любом месте.
Благодаря
Используйте '$ stateParams' вместо '$ routeParams' –
Прошу прощения, вот что я хотел сказать, что попробовал. – Naner
Вы пытались использовать [разрешение] (https://github.com/angular-ui/ui-router/wiki#resolve)? –