Actionscript 3 欧芹注射液

Actionscript 3 欧芹注射液,actionscript-3,apache-flex,flex4,cairngorm,parsley,Actionscript 3,Apache Flex,Flex4,Cairngorm,Parsley,是否可以在flex应用程序中使用parsley框架注入方法 我可以注入类本身,但是否可以注入方法。您可以在任意数量的方法上放置[inject]元数据标记: package com.bookstore.actions { class LoginAction { private var service:LoginService; private var manager:UserManager; [Inject] public function init

是否可以在flex应用程序中使用parsley框架注入方法


我可以注入类本身,但是否可以注入方法。

您可以在任意数量的方法上放置[inject]元数据标记:

package com.bookstore.actions 
{

class LoginAction 
    {
    private var service:LoginService;
    private var manager:UserManager;

    [Inject]
    public function init (service:LoginService, manager:UserManager = null) : void        
        {
        this.service = service;
        this.manager = manager;    
        }

    }
}
与构造函数注入一样,Parsley将识别方法参数是否可选,并相应地将依赖项视为可选的或必需的。将按类型选择要注入的对象,因此您应该确保在配置中最多包含一个具有匹配类型的对象。对于方法注入,MXML配置没有限制,因此与构造函数注入相比,您还可以使用简单的MXML标记将对象添加到容器中

参考资料


既然可以同时注入类和简单属性,我不明白为什么不能注入
函数
引用。请注意,这正是Parsley所做的,它是
[MessageDispatcher]
元数据。如何使用其他方法来实现这一点,可能在欧芹文档中有所介绍。您可以指定您正在使用的欧芹的哪个版本,然后可能有比我更开明的人可以帮助您。进一步检查后,您可能可以使用“属性注入”,其中所讨论的属性是
函数
。但是,您不能按类型注入此属性,您必须使用ID来注入它。“按类型注入”方式不起作用,因为所有函数都是类型
函数
,并且Parsley无法知道应该将哪个函数注入属性。