Notifications d'interface utilisateur avec js angulaires
- Je mettre en place un standard de notification de l'INTERFACE utilisateur avec angular js. Ma démarche est la suivante (simplifié):
<div ng-controller="MainCtrl">
<div>{{message}}</div>
<div ng-controller="PageCtrl">
<div ng-click="showMessage()"></div>
</div>
</div>
Et avec le contrôleur de la page en cours:
module.controller("PageCtrl", function($scope){
counter = 1
$scope.showMessage = function(){
$scope.$parent.message = "new message #" + counter++;
};
});
Cela fonctionne bien. Mais je n'aime vraiment pas le fait que j'ai besoin d'appeler le $scope.$parent.
Parce que si je suis dans un autre imbriquée contrôleur, j'aurai $scope.$parent.$parent, et cela devient rapidement un cauchemar à comprendre.
Est-il une autre façon de créer ce genre de global INTERFACE utilisateur de notification angulaire?
source d'informationauteur standup75
Vous devez vous connecter pour publier un commentaire.
Utiliser les événements pour envoyer des messages à partir d'une composante à l'autre. De cette façon, les composants ne doivent pas être liées.
Envoyer un événement à partir d'un composant:
et de créer un "listener" partout où vous le souhaitez, par exemple, dans un autre composant:
J'ai créé un exemple de travail pour vous à http://plnkr.co/edit/ywnwWXQtkKOCYNeMf0FJ?p=preview
Vous pouvez également vérifier le AngularJS docs sur les étendues lire plus à propos de la syntaxe.
Ce vous offre un environnement propre et rapide en seulement quelques lignes de code.
Ce qui concerne,
Jurgen
Vous devriez vérifier ce:
Un AngularJS composant pour créer facilement des notifications. Peuvent également utiliser HTML5 notifications.
https://github.com/phxdatasec/angular-notifications
Après avoir regardé cette: Quelle est la bonne façon de communiquer entre les contrôleurs de AngularJS? et alors que: https://gist.github.com/floatingmonkey/3384419
J'ai décidé d'utiliser pubsub, voici mon oeuvre:
Coffeescript:
Javascript:
Ma suggestion est de ne pas en créer un sur votre propre. Utiliser des modèles existants toastr ou quelque chose comme ci-dessous.
http://beletsky.net/ng-notifications-bar/
Comme suggéré ci-dessus, essayez d'utiliser des notifications de la bibliothèque. Il y a une grande variété d'entre eux: