title: Passing `ngModelOptions` through from a custom component to a contained native element
body: <p>I have a custom component (Angular 6) called <code>ppo-currency-field</code> with the following template:</p>
  
  <pre><code>&lt;span class="display" tabindex="-1"&gt;{{formattedValue()}}&lt;/span&gt;
  &lt;input #input class="input" type="number" [name]="name" 
      [tabindex]="tabindex" [readonly]="!!readonly || readonly===''" 
      [disabled]="!!disabled || disabled===''" [ngModel]="value" 
      (ngModelChange)="writeValue($event)" [ngModelOptions]="ngModelOptions"&gt;
  </code></pre>
  
  <p>My component code contains the line:</p>
  
  <pre><code>@Input() ngModelOptions: Object;
  </code></pre>
  
  <p>I'm using my component with:</p>
  
  <pre><code>&lt;ppo-currency-field [ngModel]="data.planningHours.rate"
    (ngModelChange)="data.planningHours.rate = $event; recalc();"
    [ngModelOptions]="{ updateOn: 'blur' }" 
    [disabled]="!data.containsPlanning ? '' : null"&gt;&lt;/ppo-currency-field&gt;
  </code></pre>
  
  <p>As you can see, I'm attempting to "pass through" the <code>ngModelOptions</code> from my custom component to the <code>input</code> element. But this doesn't work, because the update option is not being set to "blur"; in fact, no update seems to be happening at all anymore.</p>
  
  <p>However, when I set the option on the <code>input</code> element <em>directly</em>, that works perfectly.</p>
  
  <p>Why doesn't my pass-through work, and how could I implement it properly?</p>
  
  <p>EDIT: the problem only occurs when I try to use <code>ngModelOptions</code> as the attribute name. If I change it to e.g. <code>options</code>, it works. This is ok I guess, but I was attempting to make my component behave as much as a native input field as possible. It makes intuitive sense that I shouldn't try to reuse an Angular directive, but in that case the <code>ControlValueAccessor</code> interface should offer a hook to catch these options, as it does for <code>ngModel</code>/<code>ngModelChange</code>.</p>