在AIR应用程序中,我有一个私有变量和setter方法:Flex事件才会触发一次
private var _saveResult
public function set saveResult(result:String):void
{
_saveResult = result;
dispatchEvent(new resultUpdatedEvent(_saveResult));
}
的第一次,我设置“saveResult”的事件触发。但除非我重新启动应用程序,否则它不会再次启动。
如果我改变二传手到:
public function set saveResult(result:String):void
{
_saveResult = result;
if (result != null)
{
dispatchEvent(new resultUpdatedEvent(_saveResult));
}
}
问题就没有了,我可以设置每次变量很多时间和事件触发。
我的问题:
我在这里做错了什么?如果没有,任何人都可以向我解释发生了什么?如果是这样,我该怎么做?
谢谢!
@quoo 哇。好决定!我正在构建我的活动不正确,谢谢你的提示。 :D 但现在我正确调用构造函数,仍然有问题。 我找到了。 如果我有一个getter和一个具有相同名称的setter函数(saveResult),那么我可以调用setter一次,任何后续调用只是默默无闻。事实证明,这不是一个事件错误,但我学到了关于事件的东西,所以谢谢。我必须在我的二传手/吸气球手上做错事,但我看不到任何问题。 – PaulC 2009-10-12 19:52:01
你确定你正在设置不同的值。如果您设置了相同的值,Flex会忽略它(以节省绑定时间)。 – ZaBlanc 2009-10-13 04:42:25
@ZaBlanc只有当属性是[[Bindable]]时,对吧? – Amarghosh 2009-10-13 05:28:12