2013-06-10 13 views
7

Kötü başlık için şimdiden özür dilerim. Bu şeyler için tüm doğru açısal terminolojiyi bilmiyorum.

Bir kapsamda böyle bir kod vardır:

sonraki özetle kadar açısal bekler beri Şimdi
$scope.catName = 'Le cat' 

//<-- Magic goes here 

$scope.$watch('catName', function() { 
    //[...] 
}) 

izle, benim ilk atama ('Le kedi') değerlendirmek için (doğru terim bu?) saati tetikleyecektir.

Bu tahminin saati tetiklemesini istemiyorum, ancak bundan sonra da değişiklikler yapılması gerekiyor.

CatName'in 'kirli durumunu' sıfırlamanın bir yolu var mı?

Js-keman : http://jsfiddle.net/7DNrD/1/

cevap

16

Kontrol Bu geçici çözüm

http://jsfiddle.net/7DNrD/5/

$scope.catName = 'Le cat' 

$scope.$watch('catName', function (newValue, oldValue) { 
    if(oldValue === newValue){ 
     return; 
    } 
    //[...] 
}) 
+0

Hmm, evet bu daha zarif bir çözümü :) – alun

+0

onay için umut biraz uzatmak edelim olsa güzel ziyade işleri güncellenmiş cevap daha iyi ve daha temiz bir yaklaşım – Atrix1987

+0

Şimdi konuşuyoruz. İyi iş. – alun