Hi Frank, Thanks for the reminder. I’ll wait a few days to see if there is any other input before trying to implement this. The main output is using Google Closure Library which uses goog.bind and may also write a named property for @export, so it would be good to make sure other’s can’t think of any compatibility issues with trying this scheme with GCL.
-Alex On 7/16/15, 2:21 AM, "Frank Wienberg" <fr...@jangaroo.net> wrote: >Hi guys, >honestly I didn't read through the whole thread, but just wanted to remind >you of what we collected about binding methods in the Apache Flex Wiki: >https://cwiki.apache.org/confluence/display/FLEX/Simulating+AS3+language+f >eatures+in+JavaScript+using+AMD+and+ES5#SimulatingAS3languagefeaturesinJav >aScriptusingAMDandES5-Boundmethods >Maybe it helps / clarifies things! > >Cheers >-Frank- > >On Wed, Jul 15, 2015 at 1:18 PM, Michael Schmalle ><teotigraphix...@gmail.com >> wrote: > >> On Tue, Jul 14, 2015 at 7:11 PM, Alex Harui <aha...@adobe.com> wrote: >> >> > Bummer. >> > >> > Did you try: >> > >> > this.addEventListener("mousedown", simpleButton_mousedownHandler); >> > >> > The “this.” might be creating a pattern that isn’t handled. I’m sort >>of >> > hoping Mike will finish his mother-in-law’s bathroom and find time to >> > start in on some way to pass context so we don’t have to one-off these >> > patterns. >> > >> >> I'm done as of last Friday but my wife keeps inventing more things for >>me >> to do around the house, like buying 4 pieces of trim for the doors and >> baseboard. >> >> I am VERY short on time right now as it's summer and the kids are home, >> blah blah. :) Plus I still need to keep working on my AIR projects for >>my >> fall goal. >> >> I guess, if you can create a new thread and clearly explain the problem >>and >> solution I can then look at it with a clean slate and figure out how >>much >> time it might take me to do given the current emitter's state. >> >> I know I did something with the other compiler and event listeners, I >>would >> have to look. >> >> Mike >> >> >> >> > >> > -Alex >> > >> > On 7/14/15, 3:50 PM, "Josh Tynjala" <joshtynj...@gmail.com> wrote: >> > >> > >Alex, >> > > >> > >The change you made worked for the case where the function is >>assigned >> to >> > >a >> > >variable, but it doesn't account for the function being passed as an >> > >argument to a function. >> > > >> > >This still doesn't work for me: >> > > >> > >this.addEventListener("mousedown", >>this.simpleButton_mousedownHandler); >> > > >> > >However, as a workaround, I can do this, for now: >> > > >> > >var mouseDownListener:Function = this.simpleButton_mousedownHandler; >> > >this.addEventListener("mousedown", mouseDownListener); >> > > >> > >- Josh >> > > >> > >On Sun, Jun 28, 2015 at 10:13 PM, Alex Harui <aha...@adobe.com> >>wrote: >> > > >> > >> >> > >> >> > >> On 6/28/15, 2:21 PM, "Michael Schmalle" <teotigraphix...@gmail.com> >> > >>wrote: >> > >> >> > >> >On Sun, Jun 28, 2015 at 5:17 PM, Josh Tynjala >><joshtynj...@gmail.com >> > >> > >> >wrote: >> > >> > >> > >> >> Yes, that is correct. >> > >> >> >> > >> >> In case it wasn't obvious, event listeners are the typical use >>case >> > >> >>where >> > >> >> you'd pass a reference to a member function somewhere else >>where a >> > >> >> reference needs to be saved in a variable. AS3 made this easy by >> > >> >> automatically binding member functions. JavaScript usually >>requires >> > >>some >> > >> >> manual intervention to get event listeners to be called with the >> > >>right >> > >> >> scope. >> > >> >> >> > >> > >> > >> >Yeah the compiler does this already for anonymous functions, it >> > >>creates a >> > >> >self var pointing to 'this' and then uses self in the anonymous >> > >>function's >> > >> >body. >> > >> >> > >> Actually, that ‘self’ stuff is for AS lexical scoping. Josh is >>more >> > >> interested in the use of goog.bind for function identifiers. >>FalconJX >> > >> handles that correctly in most cases for addEventListener and other >> > >> callbacks, but I guess we don’t handle this scenario. >> > >> >> > >> I can try to take a look at it, but if you want to, search for >> > >>GOOG_BIND. >> > >> >> > >> > >> > >> >I wasn't aware of this problem though, can you create a JIRA >>ticket? >> I >> > >> >probably will be the one that tackles it since I am sure Alex >>doesn't >> > >>have >> > >> >time to do something like this and test it as well. >> > >> >> > >> Well, I can probably get it working, but I’m sure I won’t test it >>as >> > >>well >> > >> as you will. >> > >> >> > >> -Alex >> > >> >> > >> >> > >> > >>