angulaire.js - Comment écouter plus de deux événements en même temps dans AngularJS?
PHPz
PHPz 2017-05-15 17:03:07
0
2
562

Description du scénario commercial :

Supposons que dans le contrôleur enfant, les différentes opérations de clic de l'utilisateur seront divisées en deux événements, qui seront diffusés au contrôleur parent par le contrôleur

$scope.$emit('ngUserLogin');
$scope.$emit('ngUserUpdate');

Dans le contrôleur parent, nous utilisons $on pour écouter ces deux événements

.
$scope.$on('ngUserlogin', function(){"}
$scope.$on('ngUserUpload', function(){"}

Mais dans une certaine scène, j'ai trouvé que ces deux événements exécutaient la même logique, alors j'ai voulu l'écrire comme ceci :

$scope.$on(['ngUserlogin','ngUserUpload'], function(){"}

C'est le mode auquel je m'attendais, mais ng ne peut évidemment pas être écrit comme ça. Je voudrais vous demander comment surveiller plus de deux événements en même temps dans votre entreprise actuelle

PHPz
PHPz

学习是最好的投资!

répondre à tous(2)
黄舟

Malheureusement, ng n'a pas le mode que vous attendiez. Pour faire une petite astuce, vous pouvez écrire comme ceci :

angular.forEach(['ngUserlogin','ngUserUpload'], function(value){
    $scope.$on(value, function(event){
        console.log(event.name);//执行你想要的吧
    });
});
phpcn_u1582

Vous pouvez changer d'avis, vous n'envoyez qu'un seul événement, puis apportez différents paramètres lors de l'envoi de cet événement$emit(name, args); lorsque vous écouterez cet événement, jugez le paramètre, et vous saurez ce que vous allez faire ensuite ; .

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal