Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie implementiert man eine automatische Ansichtsaktualisierung, sobald sich die Datenbank in AngularJs ändert?

Für die „automatische“ Aktualisierung der Ansichten habe ich das Grails Events Push Plugin verwendet, ich schlage vor, dass Sie es sich ansehen.http://grails.org/plugin/events-push

Es ist wirklich einfach, die Ereignisse an den Browser zu senden und im Client darauf zu hören und den AngularJS-Bereich mit den richtigen Informationen zu aktualisieren.

Beispiel

Eine eckige JS-Datei

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 (ein Beispiel für einen Controller, der ein Ereignis sendet)

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