Установка компонента не определена в NgbModal

#angular #typescript #ng-bootstrap #ng-bootstrap-modal

#angular #машинописный текст #ng-bootstrap #ng-bootstrap-modal

Вопрос:

Со вчерашнего вечера я ломаю голову, думая, почему этот код не работает

 onOutletFeedback(content) {
    const modalRef  = this.modalService.open(content, {
      scrollable: false,
      size: 'md'
    });
    modalRef.componentInstance.contactId = this.contactId; //Facing issue at this line
    modalRef.componentInstance.url = environment.apiUrl;
    modalRef.result.then(
      result => {
        // on save click
      },
      reason => {
        // on dismiss
        console.log(`Dismissed with: ${reason}`);
      }
    );
  }
  

Я всегда получаю эту ошибку, когда пытаюсь вызвать свой модальный.

введите описание изображения здесь

Мой модальный код

     <button (click)="onOutletFeedback(OutletFeedbackModal)"
                  class="btn btn-secondary"
                  placement="bottom"
                  ngbTooltip="Feedback" >
                  <i class="icon-comment"></i></button>

<ng-template #OutletFeedbackModal let-modal>
  <app-outlet-feedback [modal]="modal"></app-outlet-feedback>
</ng-template>
  

Мой код ModalComponent

 export class OutletFeedbackComponent implements OnInit {
  @Input() modal: any;
  @Input() contactId: number;
  

Приветствуется любая помощь, я проверил документы и все возможные ссылки.

Ответ №1:

Вы можете присвоить значение входного свойства непосредственно app-outlet-feed попробуйте это:

 <ng-template #OutletFeedbackModal let-modal>
     <app-outlet-feedback [contactId]="contactId" [modal]="modal"></app-outlet-feedback>
</ng-tempalte>
  

Ответ №2:

Согласно документу, вот способ передачи данных в содержимое с помощью ngdModal :

this.modalRef['data'] = "any data you want to pass to ModalComp class";

PS: ‘componentInstance’ является частью API тестирования angular.

Комментарии:

1. Я изменил на это… Теперь я не получаю эту ошибку, но по-прежнему ContactID не определен в ModalComponent…

2. попробуйте консоль. войдите this.contactId , чтобы убедиться, что оно не определено

3. это я проверил… оно не определено … оно содержит значение

4. вы изменили его на это : this.modalRef['contactId'] = this.contactId ? (проверьте camelcase, поскольку в вашем вопросе указан ContactID, а вы просто говорите о ContactID)

5. О .. Нет, нет .. это только идентификатор контакта в camelcase