Как получить данные из ngx-modal при отправке angular 5

Я использую ngx-модал для создания диалога, ниже приведен код в html

<button (click)="myModal.open()">Click Me</button>

<modal #myModal cancelButtonLabel="Cancel All 
[(ngModel)]="rfin" submitButtonLabel="submit" 
(onSubmit)="callSubmit()">

<modal-content >
<mat-card>
<mat-card-content   >
<h2 class="example-h2">Select Emp</h2><br>

<section class="example-section" *ngFor="let ep of emp" >

<ng-template>
<mat-checkbox [(ngModel)]="ep.checked">{{ep.name}}</mat-checkbox>
</ng-template>

</section>

</mat-card>
</modal-content>
</modal>

Вот код в моем файле TS

callSubmit(val)
{
Console.log(val);
}

Но я становлюсь неопределенным. Пожалуйста, предложите

Добавлен код компонента, здесь я пытаюсь получить доступ к данным в консоли.

    import { Component,  Input, OnInit, Inject } from '@angular/core';
    import { ConfigService } from '../services/config.service';
    import { FormControl } from '@angular/forms';

    @Component({
    selector: 'app-emp,
    templateUrl: './emp.html',
    styleUrls: ['./emp.css'],
    })
    export class EmpComponent {
    rfin:any;
    empdata:any=[];
    emp:any=[];

    constructor(private configs: ConfigService){}

    callSubmit() 
    {
    Console.log(this.rfin);
    }

// getEmp - это сервисный вызов для получения значений из API
getEmp() {

this.configs.doEmp().subscribe(

data => {this.empdata = data['emp'];

this.emp = this.empdata.map(o => {
return {

name: o.name, isData: o.isData, checked: false

};

});

},

err => console.error(err),         
() => console.log('done loading emp'));

}

 ngOnInit() {
        this.getEmp();
    }
}

обновил при подаче также

1 ответ

Решение

Я не уверен, почему вы используете [(ngModel)]="rfin" в разделе модели всплывающего окна. Но в любом случае вы можете попробовать этот альтернативный способ чтения / записи объекта модели.

Вам не нужно передавать объект модели в onSubmit метод. Вы можете напрямую использовать в самом методе.

(onSubmit)="callSubmit()"

в коде

callSubmit()
{
Console.log(this.rfin);
}

Примечание: убедитесь, что вы объявите эту модель rfin объект в вашем классе компонентов

Другие вопросы по тегам