#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