Mysql
 sql >> Database >  >> RDS >> Mysql

Come implementare l'aggiornamento automatico della vista non appena ci sono modifiche nel database in AngularJs?

Per l'aggiornamento "automatico" delle visualizzazioni, ho utilizzato Grails Events Push Plugin, ti suggerisco di guardarlo.http://grails.org/plugin/events-push

È davvero facile inviare gli eventi al browser e nel client ascoltarli e aggiornare l'ambito AngularJS con le informazioni appropriate.

Esempio

Un file 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 (in grails-app/conf)

events = {
    'myEvent' browser:true
}

TestController.groovy (un esempio di controller che invia un evento)

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