1
내 fileInput 요소가 일반 div에 있으면 제대로 작동합니다. 그러나 만약 내가 그것을 <ng-template></ng-template>
안에 넣으면 나는 그것을 정의하지 않고있다. 여기 각도 ViewChild fileInput 주석이 정의되지 않았습니다.
HTML
<ng-template #content let-c="close" let-d="dismiss">
<div class="modal-header">
<h4 class="modal-title">Modal title</h4>
<button type="button" class="close" aria-label="Close" (click)="d('Cross click')"></button>
</div>
<div class="modal-body">
<form #documentsForm="ngForm" (ngSubmit)="onEditSubscriberDocumentsSubmit(documentsForm.value);documentsForm.reset()">
<input #fileInput type="file" #select name="document" [(ngModel)]="document" (click)="onDocUpload()" />
<input type="submit" value="Save" class="btn btn-success" [hidden]="addDocHidden">
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-dark" (click)="c('Close click')">Close</button>
</div>
</ng-template>
TS
import { Component, OnInit, ViewChild , ElementRef} from '@angular/core';
export class EditSubscriberComponent {
constructor(private http: Http, private route: ActivatedRoute, private router: Router, private modalService: NgbModal) { }
@ViewChild("fileInput") fileInput: ElementRef;
ngOnInit() {
console.log(this.fileInput)
// This is undefined. If I place the <input #fileInput type="file">
// in the main div,not under ng-template, then I am getting the
// desired output
}
}
나에게 어떻게 교류를 할 수 있습니다 제안하십시오 NG-템플릿에서 운의 ViewChild는
안내해 주셔서 감사합니다. 이 줄'this.vcRef.createEmbeddedView (this.template)'을 친절하게 설명 할 수 있습니까? 나는 Angular에서 꽤 새롭고 정착자를 사용하는 것이 도움이되지 않습니다. –
어떤 각도 라이브러리를 사용하고 있습니까? 모달을 열었을 때 Setter가 호출되어야합니다. – yurzui
모달에 NgbModal을 사용하고 있습니다. –