Инициировать событие ввода текстового поля при назначении модели из другого метода angular - PullRequest
0 голосов
/ 25 апреля 2020

Возможно инициировать событие ввода текстового поля, когда назначенное значение ng-модели назначено другим методом.

<p><input
type="text"
[(ngModel)]="testValue"
(input)="modelupdated(testValue)"/></p>


<p><button type="button" class="btn btn-primary" (click)="openModal(template)">
Create template modal</button></p>

Машинопись:

openModal(template: TemplateRef<any>) {
   this.testValue ="test";
    this.modalRef = this.modalService.show(template, Object.assign({}, { class: 'modal-sm' }));
}

Изменить событие:

modelupdated(testValue) { console.log('from change'); console.log(testValue); }

Что я ищу, можно ли вызвать метод ввода / изменения поля ввода текста при открытии модального режима или после ответа API?

1 Ответ

1 голос
/ 25 апреля 2020

Я бы предложил реактивный способ сделать это,

  form: FormGroup;
  constructor(private formbuilder: FormBuilder) {}

  ngOnInit() {
    this.form = this.formbuilder.group({
      text: ["abc"]
    });
    this.form.controls['text'].valueChanges.subscribe(data=>{
      console.log('valuechanged' ,data);
    })
  }
  modelupdated(event) {
    console.log(this.text);
  }

  buttonClicked() {
    this.form.patchValue({
      text:'123'
    }) 
  }

HTML

<form [formGroup]="form">
    <input
type="text"
formControlName="text"
/>
</form>

stackblitz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...