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; } }; });
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; }
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' } }; });
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; }
Conseils :
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!