2011-06-15 21 views
6

Kullanıcı arabirimi yaşam döngüsünde doğrulama ve geçersiz kılma olaylarını duydum. Lütfen bu olayları kısaca anlat. UpdateDisplayList() yöntemi bu yaşam döngüsünde ne yapar? Mümkünse bana kısa bir açıklama yap. Şimdiden teşekkür ederim. KısacaUI Flex'te bileşen ömrü döngü

cevap

15

Flex Bileşen yaşam döngüsü Flex bileşenlerini kurmak için kullandığı yöntemler ve olaylar kümesidir. UIComponent sınıfını genişleten kendi bileşenlerimizde, bu olayları dinleyebilir veya bileşenimize özgü olan şeyleri yapmak için bu yöntemleri geçersiz kılabiliriz.

Bu updateDisplayList() yönteminin bir karmaşa değil, bir olay değil, bir yöntem olduğunu ekleyeceğim. Bu bileşenin çocukları oluşturmak için kullanılır:()

  • createChildren:

    Bunlar

    ana geçersiz kılınabilir yöntemlerdir.
  • commitProperties(): Bu bir vahşi kart yöntemidir. Birden çok özellik değişikliğini tek bir yerde koordine etmek için kullanırsınız. Ne kullandığınız, oluşturduğunuz bileşene ve özelliklere bağlıdır.
  • measure(): Bu, bileşenlere göre, bileşenin "ideal" yüksekliğini ve genişliğini ayarlamak için kullanılır. ÖlçülenHeight ve ölçülenWidth'ı siz belirlersiniz.
  • updateDisplayList(): Bu alakalı herhangi bir şeyin ekran, en sık pozisyon ve boyutunu bileşenin çocuk yapmak için kullanılır.

Tüm bu yöntemler, ilk bileşen oluşturma sırasında çalışacaktır. Ancak, bu yöntemlerden üçü - commitProperties(), measure() ve updateDisplayList() - bir sonraki render olayı sırasında çalışacak şekilde ayarlanabilir. Kaçak onları hazırlık için sadece uygun geçersizlik yöntemi kullanarak bunları geçersiz:

  • invalidateProperties() commitProperties() yeniden güçlerini.
  • invalidateSize(), rerun ölçüsünü zorlar.
  • invalidateDisplayList() güçleri updateDisplayList() to rerun. Bir olaylar yangınları işlemek kadar sıklıkla

uygulamanın kare hızına bağlıdır.Sanırım varsayılan Flex kare hızı saniyede 24 kare, yani saniyenin 1/24'ünde bir render olayı var.

Bileşen kullanım ömrünü, yöntem ve olayların bir koleksiyonu olarak tanımladım. Yani, bu olaylar, sırayla onlar ateş:

  • preinitialize
  • childAdd
  • updateComplete başlatmak
  • creationComplete

updateComplete her işleyici olaydan sonra tetiklenecek, İnanıyorum. Ama diğerleri, bileşen yaratmanın bir parçasıdır.

You should read the Flex documentation on this

The Spark Component Lifecycle

iki sınıf yaklaşım karşılamak için farklı kanca ekler; iş mantığı için bir sınıf ve bir de ciltleme için. Ancak, eşik MX/Halo bileşen Yaşam Döngüsünü genişletir.

+0

Bir ton @ www.Flextras.com'a teşekkürler. Gerçekten, herhangi birinin anlayabileceği çok basit bir açıklaması. –

+0

Yardım etmekten memnunum! Bileşen Yaşam Döngüsü, Flextras geliştirmesinin çoğuna odaklandığım (bileşen oluşturma yaptığımız şey olduğundan) – JeffryHouser

1

:

  • geçersizlik doğrulama için işaretler. Doğrulama yalnızca bir sonraki işleme döngüsünde gerçekleşir, bu nedenle bir mülkün değerini 5 kez ayarlarsanız, yalnızca son değer etkin bir şekilde işlenir.
  • doğrulama (size daha iyi performans verir): Bir özellik o() metodu
  • updateDisplayList() doğrulama sonra denir commitProperties güncelleme olacak kutlandı eğer: özelliklerinin yeni değerler artık görünümünü değiştirmek için kullanılabilir bu değerlere

iyi uzun versiyon göre: http://www.dlgsoftware.com/primers/Primer_on_Flex3_Component_Lifecycle.htm