Maison  >  Article  >  interface Web  >  Comment partager des données $scope entre États dans AngularJS sans services ni observateurs ?

Comment partager des données $scope entre États dans AngularJS sans services ni observateurs ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-14 10:31:02431parcourir

How to Share $scope Data Between States in AngularJS Without Services or Watchers?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:CORS personnalisé NodejsArticle suivant:CORS personnalisé Nodejs