Angular 팝 업 모드 상자 의 두 가지 방식
npm install ngx-bootstrap-modal --save
그렇지 않 으 면 우리 의 모드 상자 효 과 는 네가 토 하고 싶 어 하 는 것 을 보기 어 려 울 것 이다.1.팝 업 방식 1(이 방법 은https://github.com/cipchk/ngx-bootstrap-modal
1.alert 탄 상자
(1)demo 디 렉 터 리
--------app.component.ts
--------app.component.html
--------app.module.ts
디 테 일(폴 더)
------------detail.component.ts
------------detail.component.html
(2)demo 코드
app.module.ts 필요 한 BootstrapModalModule 과 ModalModule 을 가 져 와 서 등록 합 니 다.
//app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
//
import { BootstrapModalModule } from 'ngx-bootstrap-modal';
import { ModalModule } from 'ngx-bootstrap/modal';
import { AppComponent } from './app.component';
import { DetailComponent } from './detail/detail.component';
@NgModule({
declarations: [
AppComponent,
DetailComponent
],
imports: [
BrowserModule,
BootstrapModalModule
],
providers: [],
entryComponents: [
DetailComponent
],
bootstrap: [AppComponent]
})
export class AppModule { }
app.coponent.html 모드 상 자 를 팝 업 할 수 있 는 단 추 를 만 듭 니 다.
<div class="container">
<div class="row">
<button type="button" class="btn btn-primary" (click)="showAlert()">alert </button>
</div>
</div>
app.coponent.ts 이 단 추 를 만 드 는 동작 쇼 Alert()
import { Component } from '@angular/core';
import { DialogService } from "ngx-bootstrap-modal";
import { DetailComponent } from './detail/detail.component'
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
constructor(public dialogService: DialogService) {
}
showAlert() {
this.dialogService.addDialog(DetailComponent, { title: 'Alert title!', message: 'Alert message!!!' });
}
}
detail.com ponent.html 에서 alert 탄 상자 의 레이아웃 을 작성 합 니 다.
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" (click)="close()" >×</button>
<h4 class="modal-title">{{title}}</h4>
</div>
<div class="modal-body">
alert
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" (click)="close()"> </button>
<button type="button" class="btn btn-default"> </button>
</div>
</div>
</div>
detail.coponent.ts 모드 상자 구성 요 소 를 만 듭 니 다.구성 요 소 를 만 든 다음 ngx-boottstrap-model 이 시작 을 유도 해 야 합 니 다.이 구성 요소 에 대해 서 는 DialogComponent
T 외부 에서 모드 상자 에 전 달 된 형식 입 니 다.
T1 모드 상자 반환 값 형식 입 니 다.
따라서 DialogService 는 DialogComponent 의 구조 함수 의 매개 변수 여야 합 니 다.
import { Component } from '@angular/core';
import { DialogComponent, DialogService } from 'ngx-bootstrap-modal';
export interface AlertModel {
title: string;
message: string;
}
@Component({
selector: 'alert',
templateUrl: './detail.component.html',
styleUrls: ['./detail.component.css']
})
export class DetailComponent extends DialogComponent<AlertModel, null> implements AlertModel {
title: string;
message: string;
constructor(dialogService: DialogService) {
super(dialogService);
}
}
2.confirm 탄창(1)demo 디 렉 터 리
--------app.component.ts
--------app.component.html
--------app.module.ts
확인(폴 더)
------------confirm.component.ts
------------confirm.component.html
(2)demo 코드
app.module.ts 필요 한 Bootstrap ModalModule 과 ModalModule 을 가 져 와 서 다시 등록 합 니 다.이것 은 모두 alert 탄 상자 와 같 습 니 다.이것 은 모두 방법 1 의 팝 업 방식 이기 때 문 입 니 다.
//app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
//
import { BootstrapModalModule } from 'ngx-bootstrap-modal';
import { ModalModule } from 'ngx-bootstrap/modal';
import { AppComponent } from './app.component';
import { DetailComponent } from './detail/detail.component';
@NgModule({
declarations: [
AppComponent,
DetailComponent
],
imports: [
BrowserModule,
BootstrapModalModule
],
providers: [],
entryComponents: [
DetailComponent
],
bootstrap: [AppComponent]
})
export class AppModule { }
app.coponent.html 모드 상 자 를 팝 업 할 수 있 는 단 추 를 만 듭 니 다.
<div class="container">
<div class="row">
<button type="button" class="btn btn-primary" (click)="showConfirm()">modal </button>
</div>
</div>
app.coponent.ts 이 단 추 를 만 드 는 동작 쇼 Confirm()
import { Component } from '@angular/core';
import { DialogService } from "ngx-bootstrap-modal";
import { ConfirmComponent } from './confirm/confirm.component'
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
constructor(public dialogService: DialogService,private modalService: BsModalService) {
}
showConfirm() {
this.dialogService.addDialog(ConfirmComponent, {
title: 'Confirmation',
message: 'bla bla'
})
.subscribe((isConfirmed) => {
});
}
}
confirm.coponent.html confirm 탄 상자 의 레이아웃 작성
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" (click)="close()" >×</button>
<h4 class="modal-title">{{title}}</h4>
</div>
<div class="modal-body">
confirm
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" (click)="close()"> </button>
<button type="button" class="btn btn-default"> </button>
</div>
</div>
</div>
confirm.component.ts 모드 상자 구성 요소 만 들 기
import { Component } from '@angular/core';
import { DialogComponent, DialogService } from 'ngx-bootstrap-modal';
export interface ConfirmModel {
title:string;
message:any;
}
@Component({
selector: 'confirm',
templateUrl: './confirm.component.html',
styleUrls: ['./confirm.component.css']
})
export class ConfirmComponent extends DialogComponent<ConfirmModel, boolean> implements ConfirmModel {
title: string;
message: any;
constructor(dialogService: DialogService) {
super(dialogService);
}
confirm() {
// on click on confirm button we set dialog result as true,
// ten we can get dialog result from caller code
this.close(true);
}
cancel() {
this.close(false);
}
}
3.탄 틀 내장(1)demo 디 렉 터 리
--------app.component.ts
--------app.component.html
--------app.module.ts
(2)demo 코드
내 장 된 탄 상자 도 alert confirm prompt 세 가지 형 태 를 포함 하여 내 장 된 스타일 이 있 습 니 다.
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { BootstrapModalModule } from 'ngx-bootstrap-modal';
import { ModalModule } from 'ngx-bootstrap/modal';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
BootstrapModalModule,
ModalModule.forRoot()
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.coponent.html 간단 합 니 다.버튼 하나만 누 르 세 요.
<div class="container">
<div class="row">
<button type="button" class="btn btn-default" (click)="show()"> </button>
</div>
</div>
app.coponent.ts 는 간단 합 니 다.구성 요소 의 레이아웃 도 쓰 지 않 고 아이콘 icon,크기 size 등 인 자 를 입력 합 니 다.
import { Component } from '@angular/core';
import { DialogService, BuiltInOptions } from "ngx-bootstrap-modal";
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
constructor(public dialogService: DialogService) {
}
show(){
this.dialogService.show(<BuiltInOptions>{
content: ' ',
icon: 'success',
size: 'sm',
showCancelButton: false
})
}
}
2.팝 업 방식 2(이 방법 은https://valor-software.com/ngx-bootstrap/#/modals이전 방법 과 마찬가지 로 ngx-boottstrap-modal 을 설치 한 다음 bootstrap 스타일 시트 를 가 져 옵 니 다.
1.demo 디 렉 터 리
--------app.component.ts
--------app.component.html
--------app.module.ts
2.demo 코드
app.module.ts 가 해당 모듈 을 가 져 오고 등록 합 니 다.
//app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { ModalModule } from 'ngx-bootstrap/modal';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
ModalModule.forRoot()
],
providers: [],
entryComponents: [
],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.ts
import { Component,TemplateRef } from '@angular/core';
import { BsModalService } from 'ngx-bootstrap/modal';
import { BsModalRef } from 'ngx-bootstrap/modal/modal-options.class';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'app';
public modalRef: BsModalRef;
constructor(private modalService: BsModalService) {
}
showSecond(template: TemplateRef<any>){//
this.modalRef = this.modalService.show(template,{class: 'modal-lg'});// BsModalService show
};
}
app.component.html
<div class="container">
<div class="row">
<button type="button" class="btn btn-success" (click)="showSecond(Template)"> </button>
</div>
</div>
<!-- -->
<template #Template>
<div class="modal-header tips-modal-header">
<h4 class="modal-title pull-left"> </h4>
<button type="button" class="close pull-right" aria-label="Close" (click)="modalRef.hide()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body tips-modal-body">
<div class="tips-contain"><span> </span></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" (click)="modalRef.hide()"> </button>
<button type="button" class="btn btn-default" (click)="modalRef.hide()"> </button>
</div>
</template>
최종 효과우 리 는 위의 모든 탄 틀 을 함께 쓴 후에 효과 가 바로 이렇다.
총결산
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 Angular 팝 업 모드 상자 의 두 가지 방식 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Angular에서 타사 스크립트 및 CSS 작업Angular 방식으로 회로도가 있는 외부 라이브러리를 추가하거나 모듈을 가져옵니다. Angular.json은 Angular 프로젝트의 모든 설정 파일이며 표준 JavaScript 및 CSS 파일과 함께 타사 라이브...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.