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!
推薦閱讀:
- vue+el-element中根據文件名動態創建dialog的方法實踐
- 在vant中如何使用dialog彈窗
- Vue實現Dialog封裝
- van-dialog 組件調用報錯的解決
- Vue3內置組件Teleport使用方法詳解