2017-09-01 4 views
0

Ich habe die generator-angular-fullstack verwendet, um eine Angular 1.6-Anwendung zu erstellen, und ich kann nicht den Wert meiner Entschlossenheit in UI Router erhalten.generator-angular-fullstack und UI Router auflösen

Ich habe versucht, es so zu verwenden:

Route:

$stateProvider.state('main', { 
    url: '/', 
    template: '<main></main>', 
    resolve: { 
    test: function() { return 'test' } 
    } 
}); 

-Controller

constructor($state, socket, localStorageService, test) { 
} 

, die zu einem unknow provider Fehler führen.

Und auf diese Weise:

Route:

$stateProvider.state('main', { 
    url: '/', 
    template: '<main test="$resolve.test"></main>', 
    resolve: { 
    test: function() { 
     return 'test' 
    } 
    } 
}); 

Komponente:

component('main', { 
    template: require('./main.pug'), 
    bindings: { 
    test: '=' 
    }, 
    controller: MainController 
}) 

Controller:

Und der Wert von this.test ist immer Undefined, keine mater, was ich tue.

Was fehlt mir? Es scheint für alle zu funktionieren.

Antwort

0

Ich habe das Problem gefunden. Wenn jemand das gleiche Problem hat, liegt es daran, dass die zweite Methode in Angular 1.5 funktioniert, aber in Angular 1.6 müssen Sie auf die aufgelöste Variable in der $ onInit-Methode und nicht direkt im Konstruktor zugreifen.

Hier ist ein Update, das korrekt funktionieren:

constructor($state, socket, localStorageService) { 
} 

$onInit() { 
    console.log(this.test) 
}