Actionscript 3 欧芹不起作用

Actionscript 3 欧芹不起作用,actionscript-3,apache-flex,event-handling,parsley,Actionscript 3,Apache Flex,Event Handling,Parsley,我正在使用Flex的Parsley框架创建一个示例MVC。我有一个滑块控件(mx:HSlider),它将事件发送到模型,以便对滑块更改进行操作。为此,我创建了一个自定义事件,并使用欧芹选择器来处理该事件。这是密码 //Event class MyEvent extends Event { public static const MSG="msg"; //constructor, clone method and two fields

我正在使用Flex的Parsley框架创建一个示例MVC。我有一个滑块控件(mx:HSlider),它将事件发送到模型,以便对滑块更改进行操作。为此,我创建了一个自定义事件,并使用欧芹选择器来处理该事件。这是密码

//Event
        class MyEvent extends Event
        {
        public static const MSG="msg";
    //constructor, clone method and two fields
        }

//View
    <fx:Metadata>
    [Event name="msg" type="pack1.MyEvent"]
    [ManagedEvents("msg")]
    </fx:Metadata>

    <fx:Declaration>
    <parsley:Configure/>
    </fx:Declaration>

    public function onSliderChange(event:SliderEvent):void
    {
    dispatchEvent(new MyEvent(MyEvent.MSG,event.thumbIndex,event.value);
    }

//Model
    [MessageHandler(selector="msg")]
    public function doSomething(event:MyEvent)
    {
    //code
    }
//事件
类MyEvent扩展事件
{
公共静态常量MSG=“MSG”;
//构造函数、克隆方法和两个字段
}
//看法
[Event name=“msg”type=“pack1.MyEvent”]
[ManagedEvents(“msg”)]
滑动更改上的公共函数(事件:SliderEvent):无效
{
dispatchEvent(新的MyEvent(MyEvent.MSG、event.thumbIndex、event.value);
}
//模型
[MessageHandler(selector=“msg”)]
公共功能doSomething(事件:MyEvent)
{
//代码
}
现在,事件已成功调度,但不知何故,消息处理程序未被调用。 这里有什么问题吗?有人能告诉我是什么问题吗?任何帮助都将不胜感激。提前谢谢

注意:我的上下文正在初始化,我的模型也正在被注入。但事件显示了一些奇怪的行为。它只是没有被分派到处理程序所在的模型中。

尝试以下操作:

[MessageHandler(selector="msg")]

您错过了结束括号。

在视图类中,Parsley不会自动“管理”视图。视图通常不会添加到Parsley上下文中(除非您专门将其添加到上下文中)。因为视图可以来来去去,所以您不希望欧芹在默认情况下像管理控制器、动态命令、模型等一样管理它们

要让Parsley管理视图,并因此识别它需要调用您的消息处理程序,您需要向视图添加Parsley
标记。这会使视图调度类型为“configureView”的事件。在该标记存在之前,您可以在将视图添加到阶段时手动调度此事件

在您看来,可以这样做:

<fx:Declarations>
    <parsley:Configure />
</fx:Declarations>


(在Flex 3应用程序中,您只需将
标记添加到视图中,也就是说,您不会将其放在声明标记中。您可以在中了解它。

我认为在一些配置中或使用欧芹事件的正常事件中存在错误,但在我的代码中,我从类中调度了多个事件,并将它们作为

[ManagedEvents("a","b","c")]
但在阅读了欧芹的文献后,我发现它应该是

[ManagedEvents("a,b,c")]

它解决了我的问题。感谢您的回复。

您必须将视图添加到上下文中。
这是唯一缺少的部分。

谢谢你的回复。这是我的打字错误,所以我编辑了这个问题。在我看来已经存在了。但它仍然不起作用。