flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Gomes <jgo...@mmmagic.com>
Subject Re: Send parameter to mxml constructor
Date Fri, 27 Sep 2013 02:17:37 GMT
Sure (note:  untested pseudo-code, assuming Obj1 has a public String 
property named "myProperty" and is in a package called "mypackage" which 
has been imported):

var cf:ClassFactory = new ClassFactory(mypackage.Obj1);
cf.properties = {myProperty: "whateverThisNeedsToBe"};
var _obj1:Obj1 = cf.newInstance();

~ Jeff

On 9/26/13 6:26 PM, mark goldin wrote:
> Could you sample some code, please?
>
>
> On Thu, Sep 26, 2013 at 8:24 PM, Jeff Gomes <jgomes@mmmagic.com> wrote:
>
>> Perhaps you could create a classFactory and set the property on that
>> dynamically, then use the classFactory's newInstance method to get your
>> instance.
>>
>> ~ Jeff
>>
>>
>> On 9/26/13 6:01 PM, mark goldin wrote:
>>
>>> That is not exactly what I have. Yes, I too have an mxml class based on
>>> another AS class. But I am creating an instance of my mxml class like
>>> this:
>>> var newMyClass:MyClass = new MyClass();
>>> So, how can I pass a value for myProperty to newMyClass? My understanding
>>> as soon as var newMyClass:MyClass = new MyClass(); executes all children
>>> on
>>> newMyClass will be created but I need to have myProperty before that.
>>>
>>>
>>> On Thu, Sep 26, 2013 at 7:17 PM, Mark Kessler
>>> <kesslerconsulting@gmail.com>**wrote:
>>>
>>>   Let me make the example a little more neutral.
>>>>
>>>> class being called.
>>>>
>>>>       public class MyClass inherits UIComponent
>>>>       {
>>>>           /**
>>>>           *  Constructor.
>>>>           */
>>>>           public function MyClass ():void
>>>>           {
>>>>               super();
>>>>           }
>>>>
>>>>           //----------------------------**------------
>>>>           //  My setup property
>>>>           //----------------------------**------------
>>>>           protected _myProperty:Object;
>>>>
>>>>           public function get myProperty():Object
>>>>           {
>>>>               return
>>>>           }
>>>>
>>>>           public function set myProperty(value:Object):void
>>>>           {
>>>>               if (_myProperty == value)
>>>>               {
>>>>                   return;
>>>>               }
>>>>
>>>>               _myProperty = value;
>>>>
>>>>               setupChildren();
>>>>           }
>>>>
>>>>           protected function setupChildren():void
>>>>           {
>>>>               //using the _myProperty to setup the children and marking
>>>> anything as being ready and available... events n such.
>>>>           }
>>>>       }
>>>>
>>>>
>>>> mxml side
>>>>
>>>> <ns:MyClass myProperty="The property i'm passing to initialize" />
>>>>
>>>>
>>>>
>>>>
>>>> -Mark
>>>>
>>>>
>>>>
>>>> On Thu, Sep 26, 2013 at 3:18 PM, mark goldin <markzolotoy@gmail.com>
>>>> wrote:
>>>>
>>>>   Are you saying I have to involve the DI framework?
>>>>>
>>>>> On Thu, Sep 26, 2013 at 2:13 PM, Kessler CTR Mark J <
>>>>> mark.kessler.ctr@usmc.mil> wrote:
>>>>>
>>>>>   Setter Dependency Injection(mxml compatible) vs constructor Dependency
>>>>>> Injection (AS compatible).
>>>>>>
>>>>>> -Mark
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: mark goldin [mailto:markzolotoy@gmail.com]
>>>>>> Sent: Thursday, September 26, 2013 2:57 PM
>>>>>> To: users
>>>>>> Subject: Send parameter to mxml constructor
>>>>>>
>>>>>> I have an mxml class called Obj1. Somewhere in my code I do:
>>>>>> var _obj1 = new Obj1();
>>>>>>
>>>>>> What I need is to provide some variable to Obj1 for its
>>>>>>
>>>>> initialization. A
>>>>> reason for that is because Obj1 has children that need that variable
>>>>> for
>>>>> their initialization.
>>>>>> But because I cannot send a parameter to Obj1's constructor I dont
know
>>>>>>
>>>>> how
>>>>>
>>>>>> to solve my problem.
>>>>>> Any idea?
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message