出于某种原因,这似乎不再适用于flex 4,它曾用于flex 3 ...
[Bindable]
public var xmlTitle:String = "TEST";
[Bindable]
public var xmlData:XML = <Data title={xmlTitle}> ... </Data>;
我在组件外部设置了xmlTitle变量:
<local:Comp xmlTitle="Some Title" />
我尝试过getter / setter等等。它只是在更改时不更新,它显示默认值并且永远不会更改。这是flex 4中一个已知的新bug吗?
答案 0 :(得分:2)
我不能说我以前做过这件事,主要是因为这是非常糟糕的形式。如果要创建xml,请使用mxml中的XML对象在声明中创建它:
<fx:Declarations>
<fx:XML id="xmlData" xmlns="">
<Data title="{xmlTitle}">
</Data>
</fx:XML>
</fx:Declarations>
应该工作得很好。
答案 1 :(得分:0)
在ActionScript 中使用{}
与XML不是数据绑定。它在形成XML时获取当前变量的值。并且以后不会改变它。所以这种行为是绝对可以预料的。