Maison > interface Web > js tutoriel > Comment puis-je partager efficacement des variables entre des contrôleurs AngularJS non liés ?

Comment puis-je partager efficacement des variables entre des contrôleurs AngularJS non liés ?

Patricia Arquette
Libérer: 2024-12-05 17:08:15
original
534 Les gens l'ont consulté

How Can I Effectively Share Variables Between Unrelated AngularJS Controllers?

Transmission de variables entre les contrôleurs AngularJS

Dans AngularJS, la gestion du flux de données entre les contrôleurs peut être difficile, surtout lorsqu'ils ne sont pas imbriqués. Voici comment réaliser le partage de variables entre les contrôleurs :

Utilisation des services

Les services sont un moyen puissant de partager des données entre les composants. Créez un service et injectez-le dans les contrôleurs qui ont besoin d'accéder aux variables partagées :

angular.module('myApp')
    .service('sharedProperties', function () {
        var property1 = 'First';
        
        return {
            getProperty1: function () {
                return property1;
            },
            setProperty1: function(value) {
                property1 = value;
            }
        };
    });
Copier après la connexion

Dans votre contrôleur, injectez le service et utilisez ses méthodes pour accéder et modifier les variables partagées :

function Ctrl2($scope, sharedProperties) {
    $scope.prop2 = 'Second';
    $scope.both = sharedProperties.getProperty1() + $scope.prop2;
}
Copier après la connexion

Liaison aux valeurs partagées

Pour les mises à jour en temps réel des valeurs partagées entre les contrôleurs, vous pouvez vous lier à celui d'un objet propriété au lieu d'un type primitif :

angular.module('myApp')
    .service('sharedProperties', function () {
        return {
            property1: { Property1: 'First' }
        };
    });
Copier après la connexion

Dans votre contrôleur, liez-vous à la propriété de l'objet au lieu de la valeur primitive :

function Ctrl2($scope, sharedProperties) {
    $scope.prop2 = 'Second';
    $scope.both = sharedProperties.property1.Property1 + $scope.prop2;
}
Copier après la connexion

Conseils :

  • Lors de la liaison aux propriétés d'un objet, assurez-vous que l'objet lui-même est mis à jour pour déclencher la liaison de données.
  • Évitez accéder aux variables partagées directement d'un contrôleur à un autre, car cela peut conduire à des références non définies.
  • Les services offrent un moyen structuré et efficace de gérer le partage de données et d'appliquer une conception découplée.

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!

source:php.cn
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