Angular ngDefaultControl не работает в библиотеке - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь обернуть элемент управления вводом в свой собственный компонент.Чтобы сделать проверку / ngmodel работающей, я использую ControlValueAccessor для перенаправления в DefaultValueAccessor:

import { Component, OnInit, Input, ViewChild, forwardRef } from '@angular/core';
import { ControlValueAccessor, DefaultValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';

@Component({
  selector: 'mp-inputtest',
  template: '<input ngDefaultControl/>',
  providers: [
    {
      provide: NG_VALUE_ACCESSOR,
      useExisting: forwardRef(() => InputtestComponent),
      multi: true,
    },
  ]
})
export class InputtestComponent implements OnInit, ControlValueAccessor {
  @ViewChild(DefaultValueAccessor) private valueAccessor: DefaultValueAccessor;

  writeValue(obj: any) { this.valueAccessor.writeValue(obj);}
  registerOnChange(fn: any) { this.valueAccessor.registerOnChange(fn);}
  registerOnTouched(fn: any) { this.valueAccessor.registerOnTouched(fn);}

  setDisabledState(isDisabled: boolean) { this.valueAccessor.setDisabledState(isDisabled);}
}

Это прекрасно работает, когда компонент находится в основном проекте.Но при перемещении его в угловую библиотеку директива больше не применяется.Он успешно компилируется, но не может найти ViewChild.Чего мне не хватает?

С уважением, Торстен

...