我有一個包含我想綁定到表單元素的十幾個字段的對象,這樣我可以使用該對象將數據發送回服務器進行保存。我的容器對象的Flex警告:無法綁定到類'對象'上的屬性'foo'(類不是IEventDispatcher)
定義:
private static const emptyLink:Object = {
id: -1, title:'',
trigger1:'',trigger2:'',trigger3:'',trigger4:'',trigger5:'',
linkTitle:'', linkBody:'',
answer1:'',answer2:'',answer3:'',answer4:'',answer5:''
};
[Bindable] public var currentLink:Object = emptyLink;
currentLink
在運行時從一個ArrayCollection分配給特定的指數,我只是用emptyLink
對象初始化目的居多。
<mx:Panel id="triggerPanel" title="Trigger" width="33%">
<mx:VBox id="tpBoxes" width="100%" paddingBottom="5" paddingLeft="5" paddingRight="5" paddingTop="5">
<mx:TextInput id="trigger1" width="100%" textAlign="left" text="{currentLink.trigger1}" />
<mx:TextInput id="trigger2" width="100%" textAlign="left" text="{currentLink.trigger2}" />
<mx:TextInput id="trigger3" width="100%" textAlign="left" text="{currentLink.trigger3}" />
<mx:TextInput id="trigger4" width="100%" textAlign="left" text="{currentLink.trigger4}" />
<mx:TextInput id="trigger5" width="100%" textAlign="left" text="{currentLink.trigger5}" />
</mx:VBox>
</mx:Panel>
當然,這個編譯並顯示就好了,但也有對每個實例運行時警告:
警告:無法綁定到屬性上的類「對象」「TRIGGER1」(類不是IEventDispatcher) 警告:無法綁定到'Object'類的屬性'trigger2'(類不是IEventDispatcher) 警告:無法綁定到'Object'類的屬性'trigger3'(類不是IEventDispatcher) 警告:無法綁定到'Object'類的屬性'trigger4'(類不是IEventDispatcher) 警告:無法綁定到屬性「trigger5」階級「對象」(類不是一個IEventDispatcher,請)
而當TextInput
字段轉變不更新currentLink
對象。
顯而易見的答案是我的對象需要是實現IEventDispatcher
的類的實例。這個答案沒有告訴我的是實現這個接口的細節(需要什麼?什麼不是?),如果有一個更簡單的方法來做到這一點 - 就像一個內置的類,它會很樂意接受我的自定義屬性並允許對於綁定,我不必擔心實現界面的細節。
這樣的班是否存在?如果沒有,完成這項任務的最低標準和/或接受標準是多少?
你的鏈接不會進入你認爲它所做的livedocs內的頁面。每個livedocs參考頁面在其頁腳中都有一個「當前鏈接:...」,其中包含用於直接鏈接正在查看的頁面的URL。使用它。 :) – 2009-06-02 00:54:46