在Mate Framework中调度变量

时间:2009-10-14 14:25:26

标签: flex

我有一个网格,当我点击编辑按钮它进入编辑页面...但我需要网格中的值也传递给页面。

this.dispatchEvent(new DepManagementEvent(DepManagementEvent.EDIT_NAVI));

上面的代码登陆EDIT页面......我怎样才能移动这些值。

我的父母代码。

private function editForm():void {
                var event:DepManagementEvent = new DepManagementEvent("Edit Page",true);
                dispatchEvent(event);
            }

以下编辑页面......

public function init(event:DepManagementEvent):void {
        this.addEventListener(DepManagementEvent.EDIT_NAVI, onEditNavi);    
    }

    public function onEditNavi(event:DepManagementEvent):void {
        Alert.show("as");
    }

当页面从父页面导航时,我没有收到警报....单击。另外编辑这段代码我也可以传递变量。

1 个答案:

答案 0 :(得分:2)

将一个公共var(在下面的代码中称为“navi”)添加到与网格中的项目类型相同的DepManagementEvent,然后发送这样的事件:

var event:DepManagementEvent = new DepManagementEvent( DepManagementEvent.EDIT_NAVI );
event.navi = grid.selectedItem;
dispatchEvent( event );

要收听另一方的事件,请为函数添加事件监听器...

addEventListener( DepManagementEvent.EDIT_NAVI, onEditNavi);

private function onEditNavi( event:DepManagementEvent ):void
{
    // add logic here
}

由于您在itemRenderer中,因此可以调度冒泡事件,该事件将向上移动到父List / DataGrid,并继续冒泡到显示层次结构中的其他父视图。创建事件时,将第二个参数(“bubbles”)传递为true:

new DepManagementEvent( DepManagementEvent.EDIT_NAVI, true );