1
如果我創建了以下這樣一個對象:如何訪問可綁定Flex對象的隱式事件分派器?
class Foo {
[Bindable] public var property: String;
}
類Foo
有一個隱含的事件調度處理的屬性更改事件。我如何在不使Foo
明確擴展EventDispatcher
的情況下訪問?
如果我創建了以下這樣一個對象:如何訪問可綁定Flex對象的隱式事件分派器?
class Foo {
[Bindable] public var property: String;
}
類Foo
有一個隱含的事件調度處理的屬性更改事件。我如何在不使Foo
明確擴展EventDispatcher
的情況下訪問?
如果您將-keep
參數添加到您的編譯行中,您將能夠看到它生成的內容。但要快速解釋它,您可以像處理常規的EventDisaptcher
那樣處理它。
因此,在你的主文件,你可以粘貼此:
function callFirst(event:FlexEvent):void
{
foo.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE,test);
foo.property = 'something';
}
function test(E:Event):void
{
trace (ObjectUtil.toString(E));
}
會打印出:
(mx.events::PropertyChangeEvent)#0
bubbles = false
cancelable = false
currentTarget = (Foo)#1
property = "something"
eventPhase = 2
kind = "update"
newValue = "something"
oldValue = (null)
property = "property"
source = (Foo)#1
target = (Foo)#1
type = "propertyChange"
我從內富思維;我認爲讓我感到困惑的是,Flash Builder中的代碼完成支持不會提出dispatchEvent作爲完成,但它編譯得很好。好的謝謝! – 2010-03-04 22:36:01