操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    vue中的模態(tài)對話框組件實現(xiàn)過程

    更新時間:2018年05月01日 11:43:31 作者:

    這篇文章主要介紹了vue中的模態(tài)對話框組件實現(xiàn)過程,通過定義組件,并添加相應的對話框樣式,需要的朋友可以參考下

    寫在前面

    對話框是很常用的組件 , 在很多地方都會用到,一般我們可以使用自帶的alert來彈出對話框,但是假如是設計出的圖該怎么辦呢 ,所以我們需要自己寫一個對話框,并且如果有很多地方都用到,那我們很有必要寫成一個通用的組件形式,在需要的地方之間引用。

    現(xiàn)在我們來動手實現(xiàn)一個對話框組件 ,按照之前的習慣,我們先看下實現(xiàn)的效果圖

    1.首先,通過定義一個組件

    并添加相應的對話框樣式

    /*對話框style*/
        .dialog{
        }
    

    ajax回調(diào)函數(shù)中彈出模態(tài)框,模態(tài)框閃一下沒了_模態(tài)對話框是什么時候?qū)嵗膶υ捒騙bootstrap模態(tài)框表單提交

    .dialog_mask{ position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); } .dialog_container{ background: #fff; width: 300px; height: 120px; position: relative; border-radius: 10px; margin: 0 auto; } .dialog_content{ text-align: center; padding-top: 30px; } .dialog_btn{ margin-top: 20px; } .dialog_btn a{ background: yellow; padding: 2px 30px; border-radius: 5px; color: #fff; text-decoration: none;

    bootstrap模態(tài)框表單提交_模態(tài)對話框是什么時候?qū)嵗膶υ捒騙ajax回調(diào)函數(shù)中彈出模態(tài)框,模態(tài)框閃一下沒了

    width: 50px; display: inline-block; } .dialog_btn a:nth-child(2){ margin-left: 20px; }

    2.使用注冊一個全局Vue組件,我們將這個組件叫做v-,然后通過指定這個組件

    Vue.component('v-dialog', {
          template: '#dialog',
          data:function(){
            return {
            }
          },
          methods:{
          },
          created:function(){
          }
        })

    3.最后,在我們需要的地方通過v-標簽來引用這個組件

    創(chuàng)建一個vue組件步驟大致就是這樣,但是模態(tài)對話框是什么時候?qū)嵗膶υ捒?/strong>,父組件和子組件該怎么進行通信呢?

    這里主要使用props傳遞數(shù)據(jù)到子組件

    修改如下上面的代碼,添加props屬性

    Vue.component('v-dialog', {
          template: '#dialog',
              props:['dialogShow','msg'],
          data:function(){
            return {
    

    bootstrap模態(tài)框表單提交_ajax回調(diào)函數(shù)中彈出模態(tài)框,模態(tài)框閃一下沒了_模態(tài)對話框是什么時候?qū)嵗膶υ捒?/></p>
        }
      },
      methods:{
      },
      created:function(){
      }
    })</pre></p>
<p style='margin-bottom:16px;color:#555555;font-size:16px;line-height:200%;text-indent:2em;'>可以看到我們是通過字符串數(shù)組來定義prop的,除此之外我們還可以用對象的形式來定義prop,用來為組件的 prop 指定驗證規(guī)則<strong>模態(tài)對話框是什么時候?qū)嵗膶υ捒?/strong>,如果類型錯誤,在vue中會有警告,其中 type的值可以是這些:     Array </p>
<p style='margin-bottom:16px;color:#555555;font-size:16px;line-height:200%;text-indent:2em;'><pre class= props: { name: String, showDialog: { type: Boolean, default: false } }

    在組件模板中通過 v-if=""判斷是否顯示或隱藏對話框,通過 v-text="msg"綁定對話框提示內(nèi)容,

    v-if="type==1"用于判斷對話框類型 ,顯示相應的按鈕,代碼如下:

    在引用組件的地方添加 :show-="" :msg="msg" :type="type"這幾個屬性,將其值傳遞給對話框組件

    需要注意的是在組件中需要寫成show-這種形式,不然會獲取不到數(shù)據(jù)

    我們在data中定義這些屬性

    data: {
            msg:'',
            showDialog:false,
            type:1,// 提示類型 1單按鈕提示框 2雙按鈕提示框
          },

    然后,我們在按鈕點擊提交的時候觸發(fā)彈出對話框事件

    submit:function(){
              //彈出對話框組件
              if(!this.isLogin){//未登錄
                this.msg = "請先去登錄再領取金額";
                this.showDialog = !this.showDialog;
                this.type = 2;
                return;
              }
              if(this.amount){
                if(this.amount<1 || this.amount>1000){
                  this.msg = "輸入金額不能低于1元大于1000";
    

    模態(tài)對話框是什么時候?qū)嵗膶υ捒騙ajax回調(diào)函數(shù)中彈出模態(tài)框,模態(tài)框閃一下沒了_bootstrap模態(tài)框表單提交

    this.showDialog = !this.showDialog; this.type = 1; }else{ this.msg = "領取成功,請在賬戶中心查看"; this.showDialog = !this.showDialog; this.type = 1; } }else{ this.msg = "領取金額不能為空"; this.showDialog = !this.showDialog; this.type = 1; } }

    這樣,我們就能彈出對話框組件了,通過msg設置不同的提示消息

    那么,我們該怎么關(guān)閉這個對話框呢 ,這里就涉及到子組件需要向父組件傳遞信息了

    主要通過$emit來觸發(fā)父類事件,如:this.$emit('close-');

    然后在父類通過v-on來監(jiān)聽子類觸發(fā)的事件,v-on:close-="" ,也可簡寫寫成@close-=""

    代碼如下:

    在v-標簽中添加@close-=""監(jiān)聽子組件觸發(fā)的事件

    然后定義函數(shù)修改 的狀態(tài)

      closeDialog:function(){//關(guān)閉對話框
              this.showDialog = false;
            }

    這樣同樣也需要注意的是監(jiān)聽函數(shù)需要寫成close-形式

    ok,以上我們就實現(xiàn)了一個對話框組件

    寫在后面

    我們還可以使用slot來分發(fā)內(nèi)容,這樣可以用來混合父組件的內(nèi)容與子組件自己的模板,從而實現(xiàn)組件的高度復用,使得組件更加靈活關(guān)于slot的用法可以查看文檔#使用插槽分發(fā)內(nèi)容

    完整代碼已上傳到,地址,歡迎star~,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有