Angular UI Router löst keine eingespeisten Parameter auf

So betrachten Sie das folgende Fragment aus meinem winkligen UI-Routing-Setup. Ich navigiere zur Route / Kategorie / Verwalten / 4 / Details (zum Beispiel). Ich erwarte, dass 'category' aufgelöst wird, bevor der relevante Controller geladen wird. In der Tat kann ich einen Haltepunkt in die Auflösungsfunktion einfügen, der die Kategorie vom Kategoriedienst zurückgibt und feststellt, dass die Kategorie zurückgegeben wurde. Wenn ich jetzt einen weiteren Haltepunkt in den Controller selbst lege, sehe ich, dass die Kategorie immer undefiniert ist. Es wird nicht vom UI-Router injiziert.

Kann jemand das Problem sehen? Möglicherweise handelt es sich nicht um den Code, den ich bereitgestellt habe. Da beim Ausführen des Codes jedoch keine Fehler aufgetreten sind, kann die Ursache des Problems nicht ermittelt werden. Typische stille Fehler!

        .state('category.manage', {
            url: '/manage',
            templateUrl: '/main/category/tree',
            controller: 'CategoryCtrl'
        })
        .state('category.manage.view', {
            abstract: true,
            url: '/{categoryId:[0-9]*}',
            resolve: {
                category: ['CategoryService', '$stateParams', function (CategoryService, $stateParams) {
                    return CategoryService.getCategory($stateParams.categoryId).then(returnData); //this line runs before the controller is instantiated
                }]
            },
            views: {
                'category-content': {
                    templateUrl: '/main/category/ribbon',
                    controller: ['$scope', 'category', function ($scope, category) {
                        $scope.category = category; //category is always undefined, i.e., UI router is not injecting it
                    }]
                }
            },
        })
            .state('category.manage.view.details', {
                url: '/details',
                data: { mode: 'view' },
                templateUrl: '/main/category/details',
                controller: 'CategoryDetailsCtrl as details'
            })

Antworten auf die Frage(1)

Ihre Antwort auf die Frage