vueによるダイアログの実装
2022-03-02 09:54:23
一つは、このダイアログの再利用を実装するために、ここではコンポーネントとして書いています(Vueで定義されています)。
<template>
<div id="dialog">
<div class="border">
<div @click="closeDialog" class="closeImg"></div>
<span class="message">This is a message</span>
</div>
</div>
</template>
<script>
export default {
name: "",
data(){
return {}
},
methods:{
closeDialog(){
// Passing parameters to the parent component
this.$emit('closeDialog',false)
}
}
}
</script>
<style scoped>
#dialog{
position: fixed;
top: 0;
left: 0;
background: rgba(0,0,0,0.3);
width: 100%;
height: 100%;
}
.message{
text-align: center;
position: absolute;
top: 50%;
}
.closeImg{
width: 20px;
height: 20px;
float: right;
margin-right: 5px;
margin-top: 5px;
cursor: pointer;
background-image: url(... /... /assets/close.png);
background-size: cover;
background-repeat: no-repeat;
}
.border{
text-align: center;
background-color: white;
border-radius: 20px;
width: 50%;
height: 50%;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
</style>
II. コンポーネントの登録と使用
<template>
<div id="exam">
<div style="cursor: pointer;" @click="vm.showDialog=true">
Tap me to open Dialog
</div>
//@closeDialog is used to receive the parameters passed by the child component
<Dialog
@closeDialog="close"
v-if="vm.showDialog"></Dialog>
</div>
</template>
<script>
import Vue from 'vue'
import Dialog from '... /... /public/Dialog'
Vue.component('Dialog',Dialog)
export default {
name: "",
data(){
return {
vm: {
showDialog: false,
}
}
},
methods:{
close(){
this.vm.showDialog = false;
}
}
}
</script>
<style scoped>
#exam{
width: 100%;
height: 100%;
}
</style>
エフェクトの画像付き。
上記はダイアログの実装ですが、子コンポーネントは親コンポーネントで設定する多くのプロパティを公開することができます。ここではcloseメソッドだけを公開し、あとは同じです。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ハートビート・エフェクトのためのHTML+CSS
-
HTML ホテル フォームによるフィルタリング
-
HTML+cssのボックスモデル例(円、半円など)「border-radius」使いやすい
-
HTMLテーブルのテーブル分割とマージ(colspan, rowspan)
-
ランダム・ネームドロッパーを実装するためのhtmlサンプルコード
-
Html階層型ボックスシャドウ効果サンプルコード
-
QQの一時的なダイアログボックスをポップアップし、友人を追加せずにオンラインで話す効果を達成する方法
-
sublime / vscodeショートカットHTMLコード生成の実装
-
HTMLページを縮小した後にスクロールバーを表示するサンプルコード
-
html のリストボックス、テキストフィールド、ファイルフィールドのコード例