Saya mencoba menemukan beberapa contoh tentang cara melakukan dialog modal Konfirmasi di Angular 2.0. Saya telah menggunakan dialog Bootstrap untuk Angular 1.0 dan tidak dapat menemukan contoh apa pun di web untuk Angular 2.0. Saya juga memeriksa dokumen 2.0 sudut tanpa hasil.
Apakah ada cara untuk menggunakan dialog Bootstrap dengan Angular 2.0?
modal-dialog
angular
pengguna636525
sumber
sumber
Jawaban:
`
Untuk menunjukkan latar belakang , Anda akan membutuhkan sesuatu seperti CSS ini:
Contohnya sekarang memungkinkan untuk beberapa modal secara bersamaan . (lihat
onContainerClicked()
metodenya).Untuk pengguna Bootstrap 4 css , Anda perlu membuat 1 perubahan kecil (karena nama kelas css telah diperbarui dari Bootstrap 3). Baris ini:
[ngClass]="{'in': visibleAnimate}"
harus diubah menjadi:[ngClass]="{'show': visibleAnimate}"
Untuk menunjukkan, ini adalah sebuah plunkr
sumber
div.modal-footer
dan mengubah.app-modal-footer
untuk.modal-footer
memperbaikinya.Berikut adalah contoh yang cukup baik tentang bagaimana Anda dapat menggunakan modal Bootstrap dalam aplikasi Angular2 di GitHub .
Intinya adalah Anda dapat membungkus bootstrap html dan inisialisasi jquery dalam suatu komponen. Saya telah membuat
modal
komponen yang dapat digunakan kembali yang memungkinkan Anda memicu pembukaan menggunakan variabel templat.Anda hanya perlu menginstal paket npm dan mendaftarkan modul modal di modul aplikasi Anda:
sumber
Ini adalah pendekatan sederhana yang tidak bergantung pada jquery atau pustaka lainnya kecuali Angular 2. Komponen di bawah ini (errorMessage.ts) dapat digunakan sebagai tampilan anak dari komponen lain. Ini hanyalah modal bootstrap yang selalu terbuka atau ditampilkan. Visibilitasnya diatur oleh pernyataan ngIf.
errorMessage.ts
errorMessage.html
Ini adalah contoh kontrol orangtua (beberapa kode yang tidak relevan telah dihapus karena singkatnya):
parent.ts
parent.html
sumber
class="modal fade show in danger"
Sekarang tersedia sebagai paket NPM
sudut-custom-modal
@Stephen Paul kelanjutan ...
ngOnDestroy
(ed) saat modal keluar.Inisialisasi konten malas
Mengapa?
Dalam beberapa kasus Anda mungkin tidak ingin modal untuk mempertahankan statusnya setelah ditutup, tetapi dikembalikan ke keadaan awal.
Masalah modal asli
Melewati konten secara langsung ke tampilan sebenarnya menghasilkan menginisialisasi bahkan sebelum modal mendapatkannya. Modal tidak memiliki cara untuk membunuh konten seperti itu bahkan jika menggunakan
*ngIf
pembungkus.Larutan
ng-template
.ng-template
tidak membuat sampai diperintahkan untuk melakukannya.my-component.module.ts
my-component.ts
modal.component.ts
modal.component.html
Referensi
Saya harus mengatakan bahwa itu tidak akan mungkin terjadi tanpa dokumentasi resmi dan komunitas yang bagus di internet. Mungkin membantu sebagian dari Anda juga untuk lebih memahami bagaimana
ng-template
,*ngTemplateOutlet
dan@ContentChild
bekerja.https://angular.io/api/common/NgTemplateOutlet
https://blog.angular-university.io/angular-ng-template-ng-container-ngtemplateoutlet/
https://medium.com/claritydesignsystem/ng-content -the-hidden-docs-96a29d70d11b
https://netbasal.com/understanding-viewchildren-contentchildren-and-querylist-in-angular-896b0c689f6e
https://netbasal.com/understanding-viewchildren-contentchildren-and-querylist-in- -angular-896b0c689f6e
Solusi lengkap salin-tempel
modal.component.html
modal.component.ts
modal.module.ts
sumber
Saya menggunakan ngx-bootstrap untuk proyek saya.
Anda dapat menemukan demo di sini
Github ada di sini
Cara Penggunaan:
Instal ngx-bootstrap
Impor ke modul Anda
sumber
Berikut ini adalah implementasi penuh saya dari komponen modalstrap bootstrap angular2:
Saya berasumsi bahwa dalam file index.html utama Anda (dengan
<html>
dan<body>
tag) di bagian bawah<body>
tag yang Anda miliki:modal.component.ts:
modal.html:
Dan contoh penggunaan dalam komponen Editor klien: client-edit-component.ts:
client-edit.html:
Tentu
title
,showClose
,<mhead>
dan<mfoot>
ar opsional parameter / tag.sumber
bindModal(modal) {this._modal=modal;}
, Anda dapat menggunakan sudut iniViewChild
penjelasan, seperti:@ViewChild('editModal') _modal: Modal;
. Ini menangani pengikatan untuk Anda di belakang layar.Periksa dialog ASUI yang dibuat saat runtime. Tidak perlu petak umpet logika. Layanan sederhana akan membuat komponen saat runtime menggunakan AOT ASUI NPM
sumber
coba gunakan ng-window, itu memungkinkan pengembang untuk membuka dan mengontrol penuh beberapa jendela dalam aplikasi satu halaman dengan cara sederhana, No Jquery, No Bootstrap.
Konfigrasi yang Tersedia
sumber
7 Sudut + NgBootstrap
Cara sederhana untuk membuka modal dari komponen utama dan meneruskan hasilnya kembali ke sana. adalah apa yang saya inginkan. Saya membuat tutorial langkah-demi-langkah yang mencakup membuat proyek baru dari awal, menginstal ngbootstrap dan pembuatan Modal. Anda dapat mengkloningnya atau mengikuti panduan ini.
Semoga ini bisa membantu baru untuk Angular.!
https://github.com/wkaczurba/modal-demo
Detail:
template modal-simple (modal-simple.component.html):
Modal-simple.component.ts:
Demo itu (app.component.html) - cara sederhana untuk menangani acara pengembalian:
app.component.ts - onModalClosed dieksekusi setelah modal ditutup:
Bersulang
sumber