@@ -272,7 +272,7 @@ export class AppView {
272272      var  elBinder  =  this . proto . elementBinders [ elementIndex ] ; 
273273      if  ( isBlank ( elBinder . hostListeners ) )  return ; 
274274      var  eventMap  =  elBinder . hostListeners [ eventName ] ; 
275-       if  ( isBlank ( eventName ) )  return ; 
275+       if  ( isBlank ( eventMap ) )  return ; 
276276      MapWrapper . forEach ( eventMap ,  ( expr ,  directiveIndex )  =>  { 
277277        var  context ; 
278278        if  ( directiveIndex  ===  - 1 )  { 
@@ -407,19 +407,23 @@ export class AppProtoView {
407407   * @param  {int } directiveIndex The directive index in the binder or -1 when the event is not bound 
408408   *                             to a directive 
409409   */ 
410-   bindEvent ( eventName : string ,   expression : AST ,  directiveIndex : int  =  - 1 )  { 
410+   bindEvent ( eventBindings :  List < renderApi . EventBinding > ,  directiveIndex : int  =  - 1 )  { 
411411    var  elBinder  =  this . elementBinders [ this . elementBinders . length  -  1 ] ; 
412412    var  events  =  elBinder . hostListeners ; 
413413    if  ( isBlank ( events ) )  { 
414414      events  =  StringMapWrapper . create ( ) ; 
415415      elBinder . hostListeners  =  events ; 
416416    } 
417-     var  event  =  StringMapWrapper . get ( events ,  eventName ) ; 
418-     if  ( isBlank ( event ) )  { 
419-       event  =  MapWrapper . create ( ) ; 
420-       StringMapWrapper . set ( events ,  eventName ,  event ) ; 
417+     for  ( var  i  =  0 ;  i  <  eventBindings . length ;  i ++ )  { 
418+       var  eventBinding  =  eventBindings [ i ] ; 
419+       var  eventName  =  eventBinding . fullName ; 
420+       var  event  =  StringMapWrapper . get ( events ,  eventName ) ; 
421+       if  ( isBlank ( event ) )  { 
422+         event  =  MapWrapper . create ( ) ; 
423+         StringMapWrapper . set ( events ,  eventName ,  event ) ; 
424+       } 
425+       MapWrapper . set ( event ,  directiveIndex ,  eventBinding . source ) ; 
421426    } 
422-     MapWrapper . set ( event ,  directiveIndex ,  expression ) ; 
423427  } 
424428
425429  /** 
0 commit comments