在Flex 4中调度事件

我不能让事件调度。 没有任何东西在我的代码丢失?

Application1.mxml:

<s:Button x="50" y="10" label="Button" click="dispatchEvent(new Event('buttonToggle'))"/>

component1.mxml

[Bindable(event="buttonToggle")] public function disableChk():void { trace("event"); }

--------------解决方案-------------

这不是很清楚你要问什么,但我会尽力解释我看到的代码。

首先,调度和倾听事件被执行dispatchEvent()addEventListener()flash.events.EventDispatcher 。 所以你调度事件的权利。 但是,我们在听吗? 要收听事件,你应该添加类似(在相同的MXML类,其中事件被分派):

addEventListener("buttonToggle", onButtonToggle);

private function onButtonToggle(event:Event):void
{
trace("event");
}

它是关于你的榜样是什么不是事件处理,但有关数据绑定。 当然数据绑定依赖于事件调度/引擎盖下的处理,但也有一定的局限性,以检查是否事件分派使用数据绑定的作品。

首先,你使用函数作为数据绑定的来源。 并有与它的问题:

  1. 使用绑定的功能,而无需返回值(你有void )是无感。
  2. 即使你的函数返回值,如果不存在任何绑定在MXML属性,这个功能也不会叫。

但要解决你的代码的问题(但不是你的问题),我们需要对你的目标,你实现更多的代码的更多信息。

对于同样的组件,您可以用很简单的处理程序中处理MXML组件的事件,最简单的方法:

<s:Button x="50" y="10" label="Button" click="myClickHandler()"/>

和:

private function myClickHandler():void
{
trace("Event");
}

你可以阅读更多有关从官方文档处理事件。

分类:柔性 时间:2015-03-14 人气:2
本文关键词: 弯曲,动作
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.500 (s). 10 q(s)