我有一个带有绑定{someBinding} ...
的actionscript文件Main.mxml是所有操作发生的地方。如果我在标签组件的“text”中设置{someBinding},我将有一个数字。
我有另一个form.mxml文件。我希望那个绑定在哪里,但它找不到这样的绑定。
我需要在其他mxml中使用{someBinding},与Main.mxml中的方法相同
谢谢,Yan
答案 0 :(得分:1)
您不能以一种您想要的方式将一个组件(或文件)中的值作为另一个组件(或文件)中的值。您必须将这些相关值公开为属性并设置值。
这种方法应该有效:
首先将属性添加到组件2并使其成为Bindable。在脚本块中执行此操作,如下所示:
[Bindable] public var hBoxWidth : int;
然后将其绑定到同一组件的MXML中,如下所示:
<mx:HBox width="{this.hBoxWidth}" />
现在一些组件将包含这一个:
<mx:HBox>
<myCustomComp:customHBox hBoxWidth={this.othervalue} />
</mx:Hbox>
因此,当othervalue更改时,它将更改customHBox组件上的hBoxWidth值,该值将依次更改customHBox内HBox上的width属性。
这有意义吗?
答案 1 :(得分:0)
您可以创建绑定,但必须使用ActionScript,并且需要在main.mxml中引用form.mxml文件(反之亦然)。
这应该可以让您了解它的工作原理。看一下BindingUtils的语法。 bindProperty方法。 BindingUtils代码的使用将在main.mxml中。
BindingUtils.bindProperty(otherForm.someOtherTextComponent, "text", this.someTextComponent, "text");