title: passing parameters to angular directive
body: <p>I was having kittens about the number of global Angular change detections every time an event goes off, and I found
  <a href="https://stackoverflow.com/questions/40300635/angular-2-runoutsideangular-still-change-the-ui">Angular 2 runOutsideAngular still change the UI</a>
  and I adopted the 'OutSideEventHandlerDirective' strategy.</p>
  
  <p>However, now I have a file with 6 directives in it, each for a different event type.</p>
  
  <p>What I'd like to do is pass the event type into the directive; i.e. set 
  @Input() event: string = 'my event type'
  inside the directive from the template html.</p>
  
  <p>Is this even possible?</p>
  
  <p><strong>So, thankyou for the answers so far.
  Added as an edit to have nicer presentation than a comment:</strong></p>
  
  <p>Things to learn:</p>
  
  <p>1/ @input () xyz: string = 'hello' - 
   you can set this input in the template using (outSideEventHandler)="onEv($event)" [xyz]="goodbye"</p>
  
  <p>2/ @input ('abc') xyz: string = 'hello' - 
   'renames' the thing you use to refer to the input, i.e. now you use [abc]="goodbye"</p>
  
  <p><strong>Addition to the question:</strong></p>
  
  <p>3/ I have use of two or more of these 'outside' directives on the same element.
   if you have (outSideEventHandler)="onEvent1($event)" [event]="mousedown" (outSideEventHandler)="onEvent2($event)" [event]="mouseup" - then you get two copies of the directive, but both use event=mousedown.</p>
  
  <p>I can create two (or more) copies of the directive (see <a href="https://stackblitz.com/edit/directive-parameters-9vlnxd" rel="nofollow noreferrer">code</a>), and then have separate unique named inputs for each.  But is this the only way:?</p>
  
  <pre><code>  (outSideEventHandler1)="onTestDirective($event)" 
    [outSideEvent1]="'mousedown'" 
    (outSideEventHandler2)="onTestDirective($event)" 
    [outSideEvent2]="'mouseup'" 
  </code></pre>