gpt4 book ai didi

apache-flex - 在 ActionScript 中复制复杂的 MXML 绑定(bind)

转载 作者:行者123 更新时间:2023-12-04 03:00:01 25 4
gpt4 key购买 nike

MXML 允许您进行一些非常强大的数据绑定(bind),例如:

<mx:Button id="myBtn" label="Buy an {itemName}" visible="{itemName!=null}"/>

我发现 BindingUtils 类可以将值绑定(bind)到简单的属性,但上面的绑定(bind)都没有这样做。是否可以在 AS3 代码中执行相同的操作,或者 Flex 是否可以从我的 MXML 静默生成多行代码?
任何人都可以在纯 AS3 中复制上述内容,从:
var myBtn:Button = new Button();
myBtn.id="myBtn";
???

最佳答案

方法是使用 bindSetter .当您的示例中的 MXML 在编译之前转换为 ActionScript 时,这也是在幕后完成的方式。

// assuming the itemName property is defined on this:
BindingUtils.bindSetter(itemNameChanged, this, ["itemName"]);

// ...

private function itemNameChanged( newValue : String ) : void {
myBtn.label = newValue;
myBtn.visible = newValue != null;
}

...除了 MXML 到 ActionScript 转换生成的代码更长,因为它必须更通用。在此示例中,它可能会生成两个函数,一个用于每个绑定(bind)表达式。

关于apache-flex - 在 ActionScript 中复制复杂的 MXML 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com