我有以下代碼:Flex的數據綁定到變量的[可綁定]屬性(無法檢測到警告)
<fx:Script>
<![CDATA[
import shared.GlobalsManager;
import app.Globals;
protected var globals:Globals=GlobalsManager.getGlobals();
]]>
</fx:Script>
<s:FormItem label="Server or Client:">
<s:DropDownList id="serverOrClient" dataProvider="{globals.serverOrClientOptions}" />
</s:FormItem>
和有關全局類代碼(全局自GlobalsAdminGlobalS延伸)
public class GlobalsAdminGlobalS extends GlobalsAdminS {
public static const ServerOrClient_server:String="server";
public static const ServerOrClient_client:String="client";
public static const ServerOrClient_both:String="both";
[Bindable]
public var serverOrClientOptions:ArrayCollection=new ArrayCollection(
[ServerOrClient_server,ServerOrClient_client,ServerOrClient_both]);
[Bindable]
public var appOrAdminOptions:ArrayCollection=new ArrayCollection(
[AppOrAdmin_App,AppOrAdmin_Admin]);
}
我收到以下警告與Flex 4.5.1編譯器:
WARNING S:\_flash\shared\shared\src\shared\admin\global\ClassManager.mxml[28]:
Data binding will not be able to detect assignments to "globals".
<s:DropDownList id="serverOrClient" dataProvider="{globals.serverOrClientOptions}" />
我沒有TES如果它真的綁定的話。我沒有看到問題是什麼。根據這一點,有什麼預期的功能,一個並不需要標註整個類可綁定:
http://www.adobe.com/devnet/flex/articles/databinding_pitfalls.html
編輯:腳本塊位於的,即爲FormItem的父母。全局變量被標記爲受保護的。
1)組件的孩子可以訪問組件的腳本塊中定義的屬性嗎?如果在祖先的腳本中定義的屬性的功能塊與類實例的屬性相同(即它們在子組件的大括號中不是神奇地可用的),那麼後代通常訪問祖先或通過其id屬性的任何其他組件實例?
謝謝,已經由Sunil D回答。底部的問題與問題無關,但是有效。 – MetaChrome 2012-04-01 18:40:02