Partage des données $scope entre les États dans AngularJS
Question :
Comment $scope peut-il les données du contrôleur parent soient-elles accessibles aux états enfants dans AngularJS sans utiliser de services ou d'observateurs du contrôleur parent ?
Réponse :
Comprendre l'héritage de la portée
Dans AngularJS, les propriétés de portée héritent de la chaîne d'état si les vues d'état sont imbriquées. Par conséquent, définissez les vues d'état comme suit :
.state("main", { controller:'mainController', url:"/main", templateUrl: "main_init.html" }) .state("main.1", { controller:'mainController', parent: 'main', url:"/1", templateUrl: 'form_1.html' }) .state("main.2", { controller:'mainController', parent: 'main', url: "/2", templateUrl: 'form_2.html' })
Initialisation des données dans le contrôleur parent
Instancier les données dans le contrôleur parent en tant qu'objet avec des propriétés, tels que :
controller('mainController', function ($scope) { $scope.Model = $scope.Model || {Name : "xxx"}; })
Utilisation de la notation par points dans ng-model
Assurer l'héritage prototypique en utilisant la notation par points dans ng-model, par exemple :
<input type="text" ng-model="Model.Name">
Exemple :
Voir un exemple fonctionnel dans ce Plunker : https://plnkr.co/edit/jmEb62e96kHlXPjLGBb9?p=preview
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!