AngularJS : otomatik model değişikliği tespit
Otomatik olarak bir modelin değerleri değiştirdiğinizde, bazı kod (bir server için veri kaydetme gibi) çalıştırmak gibi bir şey yapmak istedim sanırım. Tek yol muhtemelen modelini değiştirebilir her kontrol ng-change
gibi bir şey ayarlayarak bunu yapmak için?
Yani, manzaralı, işler bu model açıkça bir şey takılmak zorunda kalmadan değiştirilir gibi değiştirin. Bir sunucuya kaydeder kod çalıştırmak için güçlü olmak için bir analog var mı? Gibi bir şey
myModel.on('change', function() {
$.post("/my-url", ...);
});
gibi omurga gibi bir şey görebilirsiniz.
CEVAP
{{}}
ve/veya ng-model ile görüş, Açısal perde arkasında senin için $watch()
es kuruyor.
Varsayılan olarak $watch
referans ile karşılaştırır. Eğer 8 ** "" değişiklikler için. nesneyi izlemek sığ yerine Açısal true
, üçüncü parametre ayarlarsanız Nesne Haritalar için, bu dizinin öğeleri karşılaştırmak demektir diziler için, bu özellikleri izlemek anlamına gelir. Bu istediğiniz ne yapayim:
$scope.$watch('myModel', function() { ... }, true);
GüncellemeV1 açısal.2, 13**: bunun için yeni bir yöntem eklendi
$scope.$watchCollection('myModel', function() { ... });
Not bu kelime "sığ" olduğunu açıklamak için kullanılan karşılaştırma yerine "derin" çünkü başvuru takip değil -- örneğin, eğer izledim nesnesini içeren bir özellik değeri bir referans için başka bir nesne, o başvuru değil takip ile karşılaştırmak diğer nesne.
Nasıl AngularJS dinamik bir model adı ...
JQuery hakkında hiçbir sonuç tespit UI...
Neden'otomatik olarak dönüş türle...
UİTextView otomatik tespit edilen bağl...
Nasıl Firefox dosya değişikliği-yenile...