Ich versuche Parameter in verschachtelter ui-Ansicht zu übergeben:Pass Parameter in ui-Ansicht
<ui-view user="user"></ui-view>
Und jetzt lassen Sie mich erklären, warum ich das tun müssen. Das ist, wie meine ui wie folgt aussieht:
Es Benutzerkarte Angular Komponente ist. Innerhalb dieser Komponente gibt es mehrere Registerkarten wie Unterkomponenten mit eigenen Zuständen. Mein Ziel ist es, Benutzerobjekt für die Registerkarten bieten aus dem übergeordneten Zustand.
Lassen Sie mich auch etwas vereinfachte Code:
.state('user', {
url: '/user/:userId',
template: `<user user-id="userId"></user>`,
controller: ($scope, $stateParams) => {
$scope.userId = +$stateParams.userId;
}
})
...
.state('user.tab1', {
url: '/tab1',
template: '<tab1 user="$ctrl.user"></tab1>',
controller: ($scope, $state) => {
//I would like to get access to the user object here
let course = $scope.$ctrl.user;
}
});
So ein weiteres Mal: Benutzerobjekt nicht in ui-Router-Controller, aber Steuerung der Komponente geladen. Template dieser Komponente hat geschachtelt, in dem ich Benutzerobjekt haben möchte.
Ui-Router wurde nicht aktualisiert folgen Sie 1,5 Komponenten. Also ja, das fehlt. Sie können Objekte mit $ scope (nicht $ scope. $ Ctrl) oder ähnlichen Problemumgehungen übergeben. –