配对如何注入UI组件

时间:2011-05-17 06:56:51

标签: flex dependency-injection mate

在flex的Mate框架中。我正在尝试将UIComponent注入非UIComponent。

原因是UI组件是一个库组件,它具有需要在其上调用的方法。我无法删除调用方法的要求。

我现在有类似的东西

<ObjectBuilder cache="global" generator="{DashboardController}" registerTarget="true"/>
<EventHandlers type="{DashboardEvent.DASHBOARD_CREATION_COMPLETE}">
    <PropertySetter generator="{DashboardController}" 
        targetKey="dashboard"
        source="{lastReturn}"
        sourceKey="target" />
</EventHandlers>

我收到这样的错误。

--------------------------------------------------------- MATE Error: Property type mismatch, turn on the debugger for more information EventType:test.example.events.creationComplete. Error was found in a EventHandlers list in file DashboardEventMap ---------------------------------------------------------

我也尝试使用对象构建器来设置属性。

2 个答案:

答案 0 :(得分:3)

我认为问题是您的lastReturn类型与DashboardController.dashboard字段不兼容。请重新检查一下。

答案 1 :(得分:1)

搞定了。 lastReturn有时会返回null,即使它在eventHandling块中。

我没有意识到事件对象在这里。

<EventHandlers type="{DashboardEvent.DASHBOARD_CREATION_COMPLETE}" debug="true">
    <PropertySetter generator="{DashboardController}" 
            targetKey="dashboard"
            source="{event.target}" />
</EventHandlers>