2016-11-04 1 views
4

Ich versuche, modal ng2-bootstrap zu verwenden. So konfiguriert ich alles auf die Beispiele gleich wie unten:Importieren von ng2-bootstrap modal in Angular2

import { ModalModule } from 'ng2-bootstrap/ng2-bootstrap'; 

@NgModule({ 
    bootstrap: [ AppComponent ], 
    declarations: [ 
     AppComponent, 
     ... 
    ], 
    imports: [ 
     BrowserModule, 
     FormsModule, 
     HttpModule, 
     RouterModule.forRoot(ROUTES), 
     ModalModule 
    ], 
    providers: [ ] 
}) 

Allerdings bin ich immer noch die folgende Fehlermeldung erhalten:

Cannot read property 'show' of undefined

Komponente:

import { ViewContainerRef } from '@angular/core'; 

@Component({ 
    selector: 'any-comp', 
    encapsulation: ViewEncapsulation.None, 
    templateUrl: './any-comp.component.html' 
}) 
export class AnyCompComponent implements OnInit { 

private viewContainerRef: ViewContainerRef; 

constructor(
    private pageContentService: PageContentService, 
    viewContainerRef: ViewContainerRef) { 
    this.viewContainerRef = viewContainerRef; 
} 

Vorlage:

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

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

Wie kann ich das beheben?

Antwort

2

Template Variablen ist Groß- und Kleinschreibung, es in Ihrem Fall ist #lgmodal (Kleinbuchstabe „m“) und Sie versuchen lgModal auf Klick (große „M“) zu zeigen: (click)="lgModal.show()". Ändern Sie also einfach Ihre Vorlagenvariable so, dass sie mit der von (click) Ereignis: #lgModal übereinstimmt.

+2

Natürlich stimmt das! Ein dummer Fehler beim Konvertieren von HTML in Mops. Vielen Dank :) –

Verwandte Themen