¿关闭一个ANGULAR 5形式的模态?

时间:2018-03-04 21:31:46

标签: angular twitter-bootstrap bootstrap-modal

嗯,我希望当点击按钮时,模态关闭

enter image description here

main.component.ts 在这里你也可以做点什么

crear(form){


this._servicio.creararchivos(this.formulario).subscribe(data =>{

this.conseguir();
form.reset();

this._routes.navigate(['/main']);


}, error =>{
console.log('error al crear el archivo');

}  
);

我的html我认为这里的问题是需要一个按钮的功能来做点击我试过用Bostrap解雇但是我不发送数据只是关闭我

 <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" 
 aria-labelledby="exampleModalLabel" aria-hidden="true">
 <div class="modal-dialog" role="document">
  <div class="modal-content">
  <div class="modal-header">
 <h5 class="modal-title" id="exampleModalLabel">Subir Archivos</h5>
 <button type="button" class="close" data-dismiss="modal" aria-
 label="Close">
  <span aria-hidden="true">&times;</span>
  </button>
 </div>
 <div class="modal-body">

<form (ngSubmit)="crear(a)" #a="ngForm" class="">

<div class="form-group">
<label for="user_id">User_id</label>
     <!--<select class="form-control" id="exampleFormControlSelect1" 
 *ngFor="let 
   datos of archivo">-->

   <input type="text" class="form-control" name="user_id" 
   [(ngModel)]="formulario.user_id">
 <!-- </select> -->

 </div>

 <div class="form-group">
 <label for="titulos">Titulo</label>
 <input type="text" class="form-control" name="titulo" 
 [(ngModel)]="formulario.titulo">
</div>

 <div class="form-group">
 <label for="descripcion">Descripcion</label>
 <input type="text" class="form-control" name="descripcion" 
 [(ngModel)]="formulario.descripcion">
 </div>


 <div class="form-group">
 <label for="imagen">Imagen</label>
 <input type="text" class="form-control" name="imagen" 
 [(ngModel)]="formulario.imagen">
 </div>

<button type="submit" class="btn btn-primary" >SUBIR</button> //this <---

 </form>

  </div>
  </div>
  </div>
  </div>

2 个答案:

答案 0 :(得分:4)

您可以使用@ViewChild来引用组件中的按钮:

  1. 添加对btn #btnClose

    的引用
    <button #btnClose type="button" class="close" data-dismiss="modal" aria-label="Close">
         <span aria-hidden="true">&times;</span>
     </button>
    
  2. 在您的组件代码中创建@ViewChild

    @ViewChild('btnClose') btnClose : ElementRef 
    
  3. 在提交功能中,click btn编程

    crear(){
    ...
        this.btnClose.nativeElement.click();
    ...
    }
    

答案 1 :(得分:0)

  1. 添加对bootstrap模式的引用。比如#exampleModals

    <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" #exampleModals>

  2. 在组件中创建ViewChild。

    @ViewChild('exampleModals') exampleModals: ElementRef ;

  3. 关于清除方法crear(a)隐藏模态。

    crear(a) { this.exampleModals.hide(); }