Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment implémenter la mise à jour automatique des vues dès qu'il y a un changement de base de données dans AngularJs ?

Pour la mise à jour 'automatique' des vues, j'ai utilisé Grails Events Push Plugin, je vous suggère de le regarder.http://grails.org/plugin/events-push

Il est très facile d'envoyer les événements au navigateur et dans le client de les écouter et de mettre à jour la portée AngularJS avec les informations appropriées.

Exemple

Un fichier angularJS

window.grailsEvents = new grails.Events('http://myAppUrl.com', {enableXDR:true,readResponsesHeaders:false});

/**
 * Module for listening to grails events
 */
angular.module('grailsEvents', []).factory('grailsEvents', function() {
    return window.grailsEvents
});

window.myModule = angular.module('myModule',['grailsEvents'])
   .run(function(){
       grailsEvents.on('myEvent',function(data){
          //Every time an event occurs, this will be executed
          console.log(data);
       });
   });

MyEvents.groovy (dans grails-app/conf)

events = {
    'myEvent' browser:true
}

TestController.groovy (un exemple de contrôleur qui envoie un événement)

class TestController{
    def index(){
       event(topic:'myEvent',data:MyDomain.list())
    }
}