У меня есть компонент, который включает модальное окно. Модальное окно заключено в тег <ng-template>
.
<ng-template #modalm let-modal>
...
<button type="button" (click)="onSubmit()" class="btn btn-primary">OK</button>
...
</ng-template>
Это позволяет мне открывать и закрывать модальное окно из моего файла component.ts.
constructor(private modalService: NgbModal,
private activeModal: NgbActiveModal)
...
public openModal(modalm: TemplateRef<any>){
this.activeModal = this.modalService.open(modalm);
const btn = modalm.elementRef.nativeElement.querySelector('.btn-primary');
}
Я хотел бы получить доступ к элементу кнопки и установить для него свойство. Я следую принятому ответу в Как найти элемент внутри TemplateRef , звонит querySelector
с modalm.elementRef.nativeElement
. Это дает мне ошибку:
TypeError: modalm.elementRef.nativeElement.querySelector is not a function
Почему в этом случае я не могу позвонить querySelector
?
Я понимаю, что мне нужно использовать тип TemplateRef из-за того, что модальное окно заключено в ng-template
. Каков правильный синтаксис для доступа к элементу в модальном окне?
.querySelector
. Почему бы вам вместо этого не попробовать передать нужную опцию черезNgbModalRef#componentInstance
? - person developer033   schedule 24.07.2021