Как получить данные из ngx-modal при отправке angular 5 - PullRequest
0 голосов
/ 12 июня 2018

Я использую ngx-modal для создания диалога, ниже приведен код в 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 Ответ

0 голосов
/ 12 июня 2018

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

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

(onSubmit)="callSubmit()"

в коде

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

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

...