SORU
15 Mart 2013, Cuma


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
15 Mart 2013, Cuma


{{}} 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.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrey Menshikov

    Andrey Mensh

    28 Ocak 2012
  • Jesse Pimenta

    Jesse Piment

    5 EKİM 2011
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012