Flex 3: Rozdělení dat na dílčí komponenty selže v MXML složky v akci bloku skriptu

hlasů
0

Snažím se množit přiřazení do parametru dat dílčí komponenty přes je to seřizovač mateřské komponenty. Takhle:

<CustomComponent
     xmlns:mx=http://www.adobe.com/2006/mxml
     xmlns=components.*
    >
    <mx:Script>
        <![CDATA[
            public override function set data(val:Object):void
            {
                super.data = val;

                subComponent.data = val; //ref #1
            }
        ]]>
    </mx:Script>
    <CustomSubComponent id=subComponent
        />
</CustomComponent>

Když jsem běžel mé žádosti, dílčí komponenty nikdy nedostal svá data. Při ladění a posílení k lince s označením „ref # 1“, ladicí vyskočí metody a pokračuje na něco jiného, ​​jako v případě, že metoda byla dokončena. Vypadá to, že byl hozen některé výjimky a bez chyb, ale konzola neposkytuje žádnou informaci o tom, co je u tohoto úkolu v pořádku.

Dělám něco hloupého tady? Zdá se, že docela rovně vpřed.

Životní prostředí: Je to pomocí sady Flex SDK 3.2 s Flex Builder 3 plugin pro Eclipse na Windows, s Flash 9 Debug ver. pro IE7.

Poznámka: V tomto konkrétním případě se snažím, aby se zabránilo Vazba na účel. Myslím, proč nemohu ručně tlačit dat na dílčí složky, spíše než jako na závazný dokument?

Položena 26/08/2009 v 23:20
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

Flex potlačuje chyby uvnitř dat regulátorů, protože věci jsou často null. Problém je pravděpodobně skutečnost, že vaše podsoučást není inicializována, když je datový soubor nazvaný. Pokud opravdu nemůžete použít vazba (snadný a čistý způsob), pak byste měli odložit stanovení data z subkomponentu dokud se inicializuje s invalidateProperties / commitProperties.

V seřizovač datové volání invalidateProperties () a nastavit příznak říká, že ses změnil.

Přepsat commitProperties (nezapomeňte zavolat extra), podívejte se na vlajku, a pokud je to pravda, nastavit data podsoučást je.

Pokud vaše commitProperties blokovat nikdy volána, zkuste invalidateProperties na creationComplete.

Odpovězeno 27/08/2009 v 22:13
zdroj uživatelem

hlasů
0

Jaké komponenty jsou vaše vlastní součást a dílčí komponenta na bázi? Co si prodloužit?

Snažil jsem se základní příklad rozkládající HBox a vbox a všechno proběhlo v pořádku.

Můžete vidět výsledek tady , umožnil ukázat zdroj.

Hádám, měl jsem žádné problémy, protože jsem rozšíření komponenty, které jsou přidány do seznamu zobrazení, takže je to součástí jsou životní cyklus pro kontrolu s rodiči pro měření / data / etc.

Doufám, že to pomůže

Odpovězeno 27/08/2009 v 00:25
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more