Bootstrap 4.0 “Modal” not working with Angular 4

前端 未结 2 1785
闹比i
闹比i 2021-01-14 03:08

Having trouble getting a Bootstrap 4.0 modal to work within an Angular 4 project.

The modal works great inside a simple static HTML page: https://jsfiddle.net/Lq73nf

相关标签:
2条回答
  • 2021-01-14 03:52

    Can you try adding TetherJS after jQuery while importing the bootstrap cdn

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
    
    0 讨论(0)
  • 2021-01-14 03:55

    You can use ngx-bootstrap library to do this. After installing the library, follow these steps.

    Step1: add the following code to app.module.ts file.

    import { ModalModule, BsModalRef } from 'ngx-bootstrap';
    
    @NgModule({
     imports: [ModalModule.forRoot(),...],
     providers: [BsModalRef]
    })
    

    Step2: copy the following code and paste to app.commponent.html.

        <button type="button" class="btn btn-primary" (click)="openModal(template)">Create template modal</button>
    
    <ng-template #template>
        <div class="modal-header">
            <h4 class="modal-title pull-left">Modal</h4>
            <button type="button" class="close pull-right" aria-label="Close" (click)="modalRef.hide()">
                <span aria-hidden="true">&times;</span>
            </button>
        </div>
        <div class="modal-body">
            This is a modal.
        </div>
    </ng-template>
    

    Step3: and finally the following code copy to app.component.ts.

    import { Component, TemplateRef } from '@angular/core';
    import { BsModalService } from 'ngx-bootstrap/modal';
    import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service';
    
    export class AppComponent {
        modalRef: BsModalRef;
        constructor(private modalService: BsModalService) {}
    
        openModal(template: TemplateRef<any>) {
            this.modalRef = this.modalService.show(template,{ backdrop: 'static', keyboard: false });
        }
    }
    
    0 讨论(0)
提交回复
热议问题