Dans AngularJS UI-Router, la navigation entre les états enfants n'hérite pas automatiquement des données $scope du parent contrôleur. Cela peut poser des défis lorsqu'il est nécessaire de partager des données entre les États.
La clé du partage des données $scope entre les États réside dans l'utilisation du mécanisme d'héritage fourni par la hiérarchie des vues de UI-Router. Lorsque les vues enfants sont imbriquées dans la vue parent, la portée enfant hérite des propriétés de la portée parent.
Les portées AngularJS héritent de manière prototypique, ce qui signifie que les portées enfants héritent des propriétés et des méthodes de leurs portée parent. En utilisant '.' dans les noms de propriété dans la directive ng-model garantit que les propriétés sont héritées.
Pour partager les données $scope entre les états, suivez ces étapes :
// State Configuration $stateProvider .state("main", { url: "/main", templateUrl: "main_init.html", controller: 'mainController' }) .state("main.1", { parent: 'main', url: "/1", templateUrl: 'form_1.html', controller: 'mainController' }) .state("main.2", { parent: 'main', url: "/2", templateUrl: 'form_2.html', controller: 'mainController' }); // Controller controller('mainController', function ($scope) { $scope.Model = $scope.Model || {Name : "xxx"}; });
En suivant ces étapes, vous pouvez partager de manière transparente les données $scope entre les états dans UI-Router, garantissant ainsi un accès cohérent aux données à travers votre candidature.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!