Maison > interface Web > js tutoriel > 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
Libérer: 2024-11-14 10:31:02
original
548 Les gens l'ont consulté

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'
  })  
Copier après la connexion

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"};
})
Copier après la connexion

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">
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal