在我的欧芹容器中,我正在实例化一个包含字典 (flash.utils.Dictionary) 的对象“A”。
我想用欧芹创建这个字典并将其注入“A”。这个字典对结构是:key=id of object 'B', value='B' 其中对象'B'也是一个使用欧芹定义和创建的对象(所以基本上pairs结构和对象id作为键和对象本身作为值)。
现在,我创建“A”和“B”没有问题,但似乎找不到使用欧芹创建此字典的正确方法,也无法将其注入“A”。
非常感谢任何帮助!
在此先感谢, Yogev
在我的欧芹容器中,我正在实例化一个包含字典 (flash.utils.Dictionary) 的对象“A”。
我想用欧芹创建这个字典并将其注入“A”。这个字典对结构是:key=id of object 'B', value='B' 其中对象'B'也是一个使用欧芹定义和创建的对象(所以基本上pairs结构和对象id作为键和对象本身作为值)。
现在,我创建“A”和“B”没有问题,但似乎找不到使用欧芹创建此字典的正确方法,也无法将其注入“A”。
非常感谢任何帮助!
在此先感谢, Yogev
您可以在 context.mxml 中执行此操作:
<mx:Object xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns="http://www.spicefactory.org/parsley">
<mx:Script>
<![CDATA[
import com.example.ObjectToInjectX;
import com.example.ObjectToInjectY;
import com.example.MyExampleObject;
]]>
</mx:Script>
<!-- The class to inject the map into, just declare -->
<Object type="{MyExampleObject}" id="myExampleObject" />
<!-- Objects to inject into the Dictionary -->
<Object type="{ObjectToInjectX}" id="objectToInjectX" />
<Object type="{ObjectToInjectY}" id="objectToInjectY" />
<!-- The Dictionary -->
<Object type="{Dictionary} id="myDictionaryToInject" />
<DynamicProperty name="itemX" idRef="objectToInjectX" />
<DynamicProperty name="itemY" idRef="objectToInjectY" />
</Object>
</mx:Object>
然后只需在要注入的类中执行以下操作:
public class MyExampleObject
{
private var _myDictionaryToInject:Dictionary;
[Inject(id="myDictionaryToInject")]
public function set myDictionaryToInject( myDictionaryToInject:Dictionary ):void
{
_myDictionaryToInject = myDictionaryToInject;
}
}