sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo implementar la actualización automática de la vista tan pronto como haya un cambio en la base de datos en AngularJs?

Para la actualización 'automática' de las vistas, he usado Grails Events Push Plugin, le sugiero que lo mire.http://grails.org/plugin/events-push

Es muy fácil enviar los eventos al navegador y escucharlos en el cliente y actualizar el alcance de AngularJS con la información adecuada.

Ejemplo

Un archivo 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 (en grails-app/conf)

events = {
    'myEvent' browser:true
}

TestController.groovy (un ejemplo de un controlador que envía un evento)

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