Ich habe immer ngRoute für meine Routing-Bedürfnisse verwendet, bis ich verschachtelte Ansichten benötigt.UI Router: Wie man Parameter verschachtelten Ansichten übergeben
Ich benutze UI-Router zum ersten Mal, und es ist gut gelaufen, außer für diese eine Sache: Ich muss einen Parameter an die verschachtelten Ansichten übergeben.
Die Idee ist, eine Liste von Widgets, jedes hat eine ID. Ich möchte diese ID für den verschachtelten View-Controller verfügbar machen.
Hier ist eine fiktive Vorstellung davon, was ich habe:
home.html
<li data-ng-repeat="widget in vm.widgets">
<div ui-view="{{widget.template}}"></div>
</li>
app.config (Teil ...)
.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'
}
}
})
So lassen Sie uns sagen, ich habe Folgendes für vm.widgets:
[
{
widgetId: 1,
template: 'blablah'
},
{
widgetId: 2,
template: 'blebleh'
}
]
Wie kann ich 1 (widgetId) an BlablahController und 2 (widgetId) an BleblehController übergeben?
Ich habe ein paar Dinge mit $ StateParams versucht, aber keinen Erfolg. Konnte nirgendwo eine Lösung oder Antwort finden.
Dank
Verwenden '$ stateParams' statt von '$ routeParams' –
Sorry, das wollte ich sagen, ich habe es versucht. – Naner
Haben Sie versucht mit [auflösen] (https://github.com/angular-ui/ui-router/wiki#resolve)? –