【发布时间】:2023-03-31 14:55:01
【问题描述】:
我的 mxml 中有一个这样的标签;
<s:Label id="lblChange" text="{_symbol.change>0 ? '+' + _symbol.change:_symbol.change}" />
这工作得很好,但我需要用 BindingUitls 替换通过大括号的绑定,像这样;
_changeWatcher = BindingUtils.bindProperty(lblChange, "text", _symbol, "change");
同样,工作正常,但没有 if/else 情况。所以我虽然可以写一个函数来做到这一点;
private function checkValue(val:Number):String {
if (val > 0)
return "+"+val;
else
return val as String;
}
并将其用作 bindProperty 调用中的属性而不是更改;
.bindProperty(lblChange, "text", _symbol, checkValue(_symbol.change));
但是,bindProperty 似乎只接受字符串。那么有什么方法可以绕过这个“功能”呢?
【问题讨论】:
标签: data-binding binding flex4 ternary-operator