【问题标题】:Binding using ActionScript使用 ActionScript 进行绑定
【发布时间】:2013-01-14 23:11:15
【问题描述】:

我已经自定义了带有 x 属性的 textinput 控件。在我的程序中,我 将控件实例化为 vtiA。我的程序有一个名为 _y 的可绑定变量。

我希望每次 _y 被我的程序更改,属性 x 控件 vtiA 反映了新值。

我所做的不起作用的是

[Bindable] private var _y;

private function whocares():void
{
var vtiA:MyTextInput = new MyTextInput;
vtiA.x = _y
}

如果这是 mxml 我只想说;

<xx:MyTextInput id="vtiA" x="{_y}"/>

as3 中的等价物是什么?

保罗

【问题讨论】:

    标签: actionscript-3 apache-flex flex3


    【解决方案1】:

    [Bindable] 仅适用于公共属性。所以你需要:

    [Bindable] public var _y;
    

    【讨论】:

    • 我的理解是(并且我广泛使用它)它也可以与私有变量一起使用。它是这样记录的; “在将公共、受保护或私有属性定义为使该特定属性支持绑定的变量之前。”发现于livedocs.adobe.com/flex/3/html/…
    • 我刚刚用mxml做了一个测试,效果很好。正如您可能想象的那样,我的程序相当复杂,其中 textinput 组件有超过 2,200 行代码,而访问 textinput 组件的模块有大约 2,400 行代码。发布所有代码是不切实际的。我看到了如何使用 BindingUtils 来绑定更复杂的对象,而不是像字符串这样的简单对象。
    • 顺便说一句,我确实尝试过 BindingUtils.bindProperty(vtiA,"x",this,"_y");它似乎对我不起作用。它识别 _y 因为它要求我将其更改为公共变量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2011-01-19
    • 2012-04-26
    • 2012-04-12
    • 2012-04-29
    相关资源
    最近更新 更多