SORU
30 HAZİRAN 2012, CUMARTESİ


Eğer kalıcı bir model (veritabanı sunucusu) harici bir uygulama tarafından değiştirilirse angular.js otomatik güncelleme bir görünüm?

Ben sadece başlangıç için tanımak ile Angular.js ama isterim oluşturmak için bir web uygulaması olan bir görünüm alır otomatik-güncel olarak gerçek zamanlı (yenileme) için Kullanıcı zaman değişen bir şey sunucu tarafı veritabanı.

Açısal bu (çoğunlukla) benim için otomatik olarak işleyebilir? Ve eğer iş yerinde temel mekanizması nedir?

Örneğin, bir şekilde DB düzenli olarak yoklamak için Kur Açısal musunuz "model" olarak değişir? Ya da Kuyruklu yıldız gibi bir çeşit mekanizma bildirmek için kullanılacak Açısal istemci tarafı modeli değişti o kodu?

Benim uygulamada, meydan sunucu tarafı yazılım zaman veritabanı güncelleme alacak Diğer (non-web). Ama bu soru geçerlidir aynı derecede saf web-apps olacağı yere birden fazla müşteri veritabanı üzerinden değiştirme Açısal web istemcileri, ve onlar, her zaman haberdar olmak için zaman onlardan biri yapar bir değişiklik DB (model).

CEVAP
30 HAZİRAN 2012, CUMARTESİ


Bir kaç seçenek var

  1. Sen yoklama her X milisaniye kullanarak $timeout $http veya veri olduğun kullanarak bağladım bir DİNLENME hizmeti, geçer $resource yerine $http.

  2. Bazı Websocket uygulama kullanan bir hizmet oluşturabilirsiniz ve scope.$apply yuva tarafından itti değişiklikleri işlemek için kullanır. İşte size bir örnek soket kullanarak.ıo, node.js websocket bir kütüphane

    myApp.factory('Socket', function($rootScope) {
        var socket = io.connect('http://localhost:3000');
    
        //Override socket.on to $apply the changes to angular
        return {
            on: function(eventName, fn) {
                socket.on(eventName, function(data) {
                    $rootScope.$apply(function() {
                        fn(data);
                    });
                });
            },
            emit: socket.emit
        };
    })
    
    function MyCtrl($scope, Socket) {
        Socket.on('content:changed', function(data) {
            $scope.data = data;
        });
        $scope.submitContent = function() {
            socket.emit('content:changed', $scope.data);
        };
    }
    
  3. Gerçekten yüksek teknoloji ve sunucu ile Açısal bir model eşitler hangi websocket bir uygulama oluşturabilirsiniz. İstemci bir şeyler değiştiğinde, bu değişiklik otomatik olarak sunucuya gönderiliyor. Ya da eğer sunucu değişirse, istemciye gönderilen.
    Burada Açısal eski bir sürüm olan bir örnek, yine soket kullanarak.ıo: https://github.com/mhevery/angular-node-socketio

EDİT: Firebase bunu yapmak için kullanıyorum #3, için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Skrillex

    Skrillex

    6 NİSAN 2010