lors de l'utilisation de l'interface utilisateur du routeur résoudre, comment puis-je accéder à l'résolu de données?
J'ai les itinéraires suivants:
$stateProvider
.state("base",
{
url: "",
abstract: true,
resolve: {
aService: "aService",
dataNeeded: function(aService) {
return aService.getDataMethod().$promise;
}
},
template: "<ui-view/>",
});
$stateProvider
.state("base.main",
{
url: "/",
templateUrl: coreConfig.path() + "/modules/content/content.tmpl.html",
controller: "aController",
controllerAs: "aCtrl",
data: { requiresLogin: true }
});
Je suis en utilisant un résumé de l'itinéraire pour résoudre des données nécessaires à l'enfant 'base.main'
route.
et dans mon app.js fichier j'ai
angular.module("aModule", ["CoreModule"])
.controller({ "aController": require("./modules/content/aController.controller.js") });
J'ai mon contrôleur:
module.exports = ["aService", "dataNeeded", aController];
function aController(aService, dataNeeded) {
var test = dataNeeded; //value is undefined
}
Comment puis-je accéder à la 'dataNeeded'
chargé dans le résumé d'itinéraire à partir de l'intérieur de la base`.principal " controller?
OriginalL'auteur FiveTools | 2015-06-03
Vous devez vous connecter pour publier un commentaire.
Basé sur cette Q & Un
angular-ui-router avec requirejs, le chargement paresseux de contrôleur
J'ai créé ce travail plunker, qui est capable de charger contrôleur avec RequireJS et injecter de l'état
resolve
- du Parent ou de l'Enfant lui-mêmeCe serait l'état définition:
Pour plus de détails, lire explication complète ici...
Et c'est le contrôleur de RequireJS:
Vérifier ici en action
OriginalL'auteur Radim Köhler
Chaque enfant de l'état peut demander resloved trucs de son parent(s), donc ce serait le travail
Vérifier ce Q & A:
Angularjs ui-router résumé de l'état à résoudre
Et ses exemple de travail
ÉTENDRE
Il est un autre exemple de travail liées à notre scénario:
États:
Contrôleur et de service:
Et un modèle permettant de rendre les deux
'dataNeeded', 'aService'
:L'exemple de l'action ici
PLUS ÉTENDRE
Un autre, plus exemple pourrait être le chargement des données.json:
Le servcie serait alors
Et parent résumé résoudre:
Vérifier que ici en action
J'ai pris ton exemple de code, et a créé de travail plunker showin que dans l'action. Le seul changement est que je n'ai aucune idée de ce que devrait être la
aService.getDataMethod().$promise;
donc, dans ce cas, j'ai juste décidé d'utiliseraService.getDataMethod()
Et vous savez quoi, j'ai décidé de même vous montrer comment consommer le retour de la demande de serveur... vérifier l'étendue de réponse de la partie, et du travail exemple
Ce sont de grands exemples. Cependant, je pense que la question que je vais avoir est lié à la façon dont mon contrôleurs sont créés à l'aide de require.js
Je fais de mon mieux pour vous aider et vous révèlent maintenant que votre scénario est différent ... bien ...
OriginalL'auteur Radim Köhler
Dans votre app.js
Dans votre contrôleur :
Maintenant, vous avez accès "service" et le "dataNeeded" chargé à l'intérieur de votre controller 'ServiceController'.
OriginalL'auteur Nicolas2bert