Maison > interface Web > js tutoriel > Comment puis-je transmettre efficacement des variables entre les contrôleurs AngularJS ?

Comment puis-je transmettre efficacement des variables entre les contrôleurs AngularJS ?

DDD
Libérer: 2024-12-02 01:32:14
original
240 Les gens l'ont consulté

How Can I Effectively Pass Variables Between AngularJS Controllers?

Transmission de variables entre les contrôleurs AngularJS

La transmission de variables entre les contrôleurs AngularJS est une tâche courante dans le développement d'applications. Une approche consiste à créer un service pour partager des variables entre les contrôleurs.

Création d'un service partagé

angular.module('myApp', [])
    .service('sharedProperties', function () {
        var property = 'First';

        return {
            getProperty: function () {
                return property;
            },
            setProperty: function(value) {
                property = value;
            }
        };
    });
Copier après la connexion

Utilisation du service

Dans les contrôleurs, injectez le partagé service :

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

Considérations

Pour que les liaisons fonctionnent entre les contrôleurs, il est préférable de se lier à la propriété d'un objet plutôt qu'à un type primitif.

// Avoid using primitive types
var property = 'First';

// Use objects
var property = { Property1: 'First' };
Copier après la connexion

Exemple

Voir [ce fiddle](https://jsfiddle.net/philipjohnson/34qhw/) pour un exemple qui démontre :

  • Liaison à des copies statiques de valeurs partagées
  • Liaison à des valeurs partagées valeurs qui mettent à jour l'interface utilisateur à mesure que les valeurs changent

    • Liaison à un function
    • Liaison à la propriété d'un objet
    • Liaison bidirectionnelle à la propriété d'un objet

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