2016-04-16 1 views
2

Ich möchte alle Benutzer einer Webanwendung darüber informieren, dass ein neues Element zu einem $ Scope hinzugefügt wurde, indem ein Signalton abgespielt wird. Wenn also ein neues Element in einem ng-repeat erscheint, piept die App. Ich kann das leicht genug auf dem Bildschirm tun, auf dem das Element hinzugefügt wird (wie unten gezeigt), aber ich kann nicht herausfinden, wie man einen Piepton für alle spielt.Wie kann ich einen Sound auf allen Geräten abspielen, wenn ein Element zu einem Bereich in AngularJS hinzugefügt wird

$scope.beep = function(){ 
    beep.play(); 
}; 

$scope.addMeal = function(meal) { 
    if(meal.food != null && meal.calories != null){ 
      $scope.todaymeals.$add(meal);    
      if(angular.isDefined($scope.meal)){ 
       delete $scope.meal; 
       beep.play(); 
      } 
     } 
    } 
+3

Bräuchte WebSockets über den Server verwenden, um alle Benutzer zu haben verbunden – charlietfl

+0

Ich bin mit Feuerbasis ist es eine Möglichkeit, seine 3-Wege-Bindung zu verwenden es tun – Neil

+0

Dieses Beispiel von Firebase kann helfen: [Drei-Wege-Datenbindung mit Firebase und Angular] (https://www.firebase.com/blog/2013-10-04-firebase-angular-data-binding.html) "Wenn sich Daten in einem Client ändern, werden diese Updates sofort in Firebase gespeichert und auf allen Clients gerendert" – Roberto

Antwort

0

Sie können nur leicht die onchildadded Methode aufrufen:

ref.on('child_added', function(childSnapshot, prevChildKey) { 
    beep.play(); //In Your case 
}); 
Verwandte Themen