ng2-bootstrap — модель — Открыть из компонента

Я хотел бы открыть диалог из компонента:

    <!-- Large modal -->
<button class="btn btn-primary" (click)="lgModal.show()">Large modal</button>

<div bsModal #lgModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" (click)="lgModal.hide()" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
        <h4 class="modal-title">Large modal</h4>
      </div>
      <div class="modal-body">
        ...
      </div>
    </div>
  </div>
</div>

lgModal.show(), который является bsModel, открывает диалоговое окно, как мне открыть диалоговое окно из компонента:

    import {Component} from '@angular/core';
import {CORE_DIRECTIVES} from '@angular/common';

// todo: change to ng2-bootstrap
import {MODAL_DIRECTVES, BS_VIEW_PROVIDERS} from '../../../ng2-bootstrap';
// webpack html imports
let template = require('./modal-demo.html');

@Component({
  selector: 'modal-demo',
  directives: [MODAL_DIRECTVES, CORE_DIRECTIVES],
  viewProviders:[BS_VIEW_PROVIDERS],
  template: template
})
export class ModalDemoComponent {

}

Могу ли я сделать что-то вроде lgModal.show() из компонента?


person shimi_tap    schedule 02.06.2016    source источник


Ответы (1)


Добавьте это в реализацию класса Компонента:

@ViewChild('lgModal') bgModel;

Затем вы можете сослаться на него в классе с помощью this.bgModel.

Удачи

person kernix    schedule 03.06.2016
comment
Можете ли вы привести более точный пример? - person shimi_tap; 03.06.2016
comment
Обновил мой ответ. - person kernix; 03.06.2016
comment
Есть ли у него тип, который я могу аннотировать? Я ненавижу использовать любые для таких вещей. Спасибо - person Hector; 15.06.2016