AngularJS angular-ui-router - Übergeben von benutzerdefinierten Daten-controller
Folgendes ist mein code:
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'templates/tab1.html',
controller: 'QuestionsCtrl'
//,resolve: { type: '.net' }
}
}
})
.state('tab.friends', {
url: '/friends',
views: {
'tab-friends': {
templateUrl: 'templates/tab1.html',
controller: 'QuestionsCtrl'
//,resolve: { type: 'SQL' }
}
}
})
Möchte ich weitergeben eine unterschiedliche benutzerdefinierte Eigenschaft, die oben genannten zwei Routen, da Sie den gleichen Controller verwenden und Anzeigen, um es zu unterscheiden. Ich habe versucht eine verdammt viel Dinge. Bitte um Hilfe, wie dies zu tun!
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie die übergabe von benutzerdefinierten Daten wie folgt
In Ihrem controller, können Sie die Daten wie folgt
Lesen Sie mehr über dieses Thema hier https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views#inherited-custom-data
Gibt es mehrere Möglichkeiten, dies zu tun,
Für kleinere Datenmengen könnte die $cookieStore, für Daten, die unter 4k
Eine weitere option, besonders bei großen Datensätzen, wäre, die Nutzung im Lokalen Speicher und dann abrufen der Daten auf die Seite laden/reload.
wenn es nur eine sehr kleine Menge von Daten, oder Daten, die über mehrere Seite, die Sie verwenden könnte, $rootscope, aber dies ist nicht die beste option, da es genau wie das verschmutzen der global-name-space.
Die Letzte option, je nachdem, wie die Daten abgerufen werden, ein service implementiert werden konnte, das ist im Grunde ein singleton, der übergeben werden kann, um verschiedene Winkel-Rahmen.