vue如何通過點擊事件彈出彈窗頁面詳解

步驟一

創建一個彈窗頁面,我們給該頁面命名為dialogComponent,彈窗頁面中要設置以下內容:

<template>
<!--1.首先,彈窗頁面中要有el-dialog組件即彈窗組件,我們把彈窗中的內容放在el-dialog組件中-->
<!--2.設置:visible.sync屬性,動態綁定一個佈爾值,通過這個屬性來控制彈窗是否彈出-->
  <el-dialog title="彈窗" :visible.sync="detailVisible" width="35%">
    彈窗內容
  </el-dialog>
</template>

<script>
    export default {
        name: "dialogComponent",
        data(){
          return{
            detailVisible:false
          }
        },
      methods:{
      //3.定義一個init函數,通過設置detailVisible值為true來讓彈窗彈出,這個函數會在父組件的方法中被調用
        init(data){
          this.detailVisible=true;
          //data是父組件彈窗傳遞過來的值,我們可以打印看看
          console.log(data);
        }
      }
    }
</script>

步驟二

在父組件中引入彈窗組件,並通過點擊事件彈出彈窗,父組件主要設置以下內容:

<template>
	<!-- 6.定義一個點擊事件-->
	<button @click="handleClick('父組件')">點擊</button>
	<!-- 3.在頁面中使用dialog-component組件-->
	<!-- 4.設置v-if語句,通過動態改變Visiable值用來控制彈窗是否彈出-->
	<!-- 5.設置ref屬性,相當於唯一標識dialog-component組件-->
	<dialog-component v-if="Visiable" ref="dialog"></dialog-component>
</template>

<script>
//	1.引入彈窗組件dialogComponent
import dialogComponent from "./dialogComponent";
    export default {
    //  2.在components中註冊dialogComponent組件
    	components:{
          dialogComponent
      },
        data(){
          return{
            Visible:false
          }
        },
      methods:{
      // 7.實現點擊事件,點擊事件一定要包含以下內容
      	handleClick(data){
          this.Visible=true;
          this.$nextTick(()=>{
          //這裡的dialog與上面dialog-component組件裡面的ref屬性值是一致的
          //init調用的是dialog-component組件裡面的init方法
          //data是傳遞給彈窗頁面的值
            this.$refs.dialog.init(data);
          })
        },
      }
    }
</script>

註:vue組件在定義的時候使用駝峰命名,但是在使用的時候要轉化為短橫線命名!

總結

到此這篇關於vue如何通過點擊事件彈出彈窗頁面的文章就介紹到這瞭,更多相關vue彈出彈窗頁面內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: