Alert提示框的vue組件編寫


最近一直學習vue,跟着視頻敲代碼,敲了兩三個組件后,終於對編寫組件有一個大致的思路了,以下通過編寫一個alert提示框組件大致梳理一下我編寫組件的思路。
主要分為三個部分:組件引入(注冊路由器)、定義組件內容樣式及實現組件間通信。

 

(注冊路由器使用路由組件也可放到最后一步,個人習慣先引入然后定義組件及樣式便於觀察組件顯示效果)

下面是本組件引入后顯示效果,通過登匹配驗證為false觸發alert提示框顯示,點擊確認關閉提示框:

 

組件引入
一種是寫入路由,要先在在router.js中配置路由:
routes: [{path:'', component:''}]]
通過路由組件標簽  <router-link to="/" /> 注冊路由器;
 
另一種是通過import方式在父組件中引入,通過路由組件標簽  <router-view /> 注冊路由器,本文通過第二種方式注冊路由器:
1 import AlertTip from '@/components/AlertTip'
2 
3 export default {
4   components: {
5     AlertTip // 忘記會報錯:'AlertTip' is defined but never used 
6   }
7 }

 

定義組件內容及樣式

本文演示的alert提示框組件的定義內容如下:
 1 <div id="dialog" class="dialog_container">
 2 <!--提示框容器-->
 3     <section class="alert_container">
 4       <!--提示內容容器-->
 5       <div class="alert_content">
 6         <div class="tip_icon">
 7           <i class="el-icon-warning"></i>
 8           <span>提示信息</span>
 9         </div>
10         <!--提示信息,接收父組件傳來的參數-->
11         <p class="tip_text">{{alertText}}</p>
12       </div>
13       <!--確認事件傳遞回父組件-->
14       <button class="confirm" @click="closeTip">確認</button>
15     </section>
16   </div>

 

提示框主要樣式——實現提示框位置及顯示,一般采用的樣式書寫方式如下:
1 .dialog_container {
2   // 提示框位置及顯示一般樣式
3   position: fixed;
4   z-index: 9999; // 最上層
5   left:50%;
6   top:50%;
7 }

 

提示框內提示文本及按鈕樣式根據類標簽選擇器自行編寫。

 

組件間通信
引入組件並定義好組件內容樣式之后,要考慮的就是組件間通過參數傳遞進行通信。主要是父組件向子組件傳遞提示文本,子組件向父組件傳遞按鈕點擊事件狀態。本文所演示提示框組件主要是通過自定義事件進行父子組件間通信。

 

1 props: {
2     alertText: String // 初始化顯示聲明類型
3   },
4   methods: {
5     closeTip () {
6       // 分發自定義事件(事件名:closeTip)
7       this.$emit('closeTip')
8     }
9   }

 

在父組件中引入子組件時添加需要傳遞的參數及事件:
<AlertTip :alertText="alertText" v-show="alertShow" @closeTip="closeTip"/>

 

在父組件中通過調用showAlert()方法傳入alertText參數值:
1 showAlert (alertText) {
2   this.alertShow = true, // 是否顯示提示框組件
3   this.alertText = alertText
4 }

 

至此,將代碼整合到一起,就得到一個可以動態顯示的提示框組件了。
目前還是前端小白一枚,所述不足之處還希望大家多多指正呀!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM