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 <[email protected]> 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
<[email protected]>**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 <[email protected]>
wrote:

  Are you saying I have to involve the DI framework?

On Thu, Sep 26, 2013 at 2:13 PM, Kessler CTR Mark J <
[email protected]> wrote:

  Setter Dependency Injection(mxml compatible) vs constructor Dependency
Injection (AS compatible).

-Mark

-----Original Message-----
From: mark goldin [mailto:[email protected]]
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



Reply via email to