2013-07-01 15 views
23

używam tego kodu:

$scope.$watch('message', function() 
{ 
    // the code 
}); 

Czy jest jakiś sposób na ogień zdarzenia change wiadomości ręcznie, więc kod zostanie wykonany?

Odpowiedz

37

kilka opcji.

  1. Zastosowanie $ zakres $ apply(), aby uruchomić strawienia pętlę który nazywamy wszystkich wyrażeń zegarków

  2. umieścić wewnętrzny kod zegarek wewnątrz funkcji i nazwać ręcznie

  3. Zmień messages :)

12

Inną opcją jest deklarowanie funkcji osobno i używanie wskaźnika za pomocą $scope.watch.

var watchFunction = function(){ 
    // the code 
} 

$scope.$watch('message',watchFunction); 

watchFunction(); 
+0

Uważam, że to rozwiązanie (również druga opcja w odpowiedzi @ShaiRez) jest eleganckie i zdecydowanie bardziej wydajne niż wywoływanie $ scope. $ Apply() –

Powiązane problemy