欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

vue.js的提示組件-創(chuàng)新互聯(lián)

這次的教程里,我們要把組件化進行到底!最近半年的幾個項目中,都遇到了需要使用Toast或者Notification組件的情況。在目前已有的一些基于Vue.js開發(fā)的組件庫,都沒有找到太合適的,所以自己重頭實現(xiàn)了一個。歷經(jīng)幾個項目的磨練,這個提示組件的功能已經(jīng)越來越完善,這次就分享一下組件以及其實現(xiàn)思路吧。

在河?xùn)|等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,河?xùn)|網(wǎng)站建設(shè)費用合理。

GitHub 倉庫: https://github.com/Yuyz0112/vue-notie

Demo 地址: http://lab.myriptide.com/vue-notie/

vue.js的提示組件

深入組件化,組件的拆分、整合與復(fù)用

Vue.js的組件化可以說是其招牌特性之一,而在實際應(yīng)用時,并非一味地追求組件顆粒越小越好,而是需要根據(jù)項目的實際需求,來分析自己需要什么級別的組件。

例如在一個SPA中,我可能有主頁、文章列表頁、文章頁、個人中心頁4個主要的視圖,于是我將其分別對應(yīng)的寫成4個組件。

但是在實際編寫的過程中,發(fā)現(xiàn)他們共用了同一套側(cè)邊欄,而側(cè)邊欄對應(yīng)的代碼也在4個組件中重復(fù)書寫了4次。所以可以將側(cè)邊欄單獨寫成一個組件進行復(fù)用。

之后,我們可能發(fā)現(xiàn)可以復(fù)用的還有一些表單、按鈕之類的內(nèi)容我們都可以復(fù)用成組件。但實際上,我們也會發(fā)現(xiàn)過度的組件化會導(dǎo)致代碼量上升、開發(fā)時間增加以及額外的數(shù)據(jù)傳遞等等。所以如果不打算制作一個完整的組件庫,那么在實際項目中做到按需拆分、整合即可,不用過分的追求每個可復(fù)用的部分都寫成單個組件。

為什么需要一個提示組件

因為alert大部分時間不能滿足我們的需求啊。往往項目里需要一個類似于alert的東西,用美觀、可定制的方式提示用戶一些信息,因此這樣一個提示組件很有必要。

同時,我們也不希望同一時間出現(xiàn)多個提示混淆用戶,因此在設(shè)計上,我們將提示組件設(shè)定為具有 唯一性 ,整個應(yīng)用中各個視圖調(diào)用的都是同一個提示組件。

Show me the code

接下來,由簡入繁依次實現(xiàn)提示組件的各個功能。

基本功能

最基本的功能當(dāng)然是觸發(fā)后顯示,并且能夠以某種方式關(guān)閉。唯一需要自定義的部分,就是具體顯示的內(nèi)容。所以最開始組件長這樣:

<template>
 <div class="notification fixed"
 v-if="show"
 transition="slide">
 <div class="delete"
 @click="close()"></div>
 <div class="content">
 {{ options.content }}
 </div>
 </div>
</template>

<script>
export default {
 props: {
 options: {
 type: Object,
 default: () => {
 return {}
 }
 },
 show: {
 type: Boolean,
 default: false
 }
 },
 methods: {
 close () {
 this.show = false
 this.options = {}
 }
 }
}
</script>

<style scoped lang="sass">
 .slide-transition
 transition: all .3s ease
 transform: translate3d(0, 0, 0)
 .slide-enter,
 .slide-leave
 transform: translate3d(0, -100%, 0)
 .delete
 -moz-appearance: none
 -webkit-appearance: none
 background: rgba(51,51,51,0.2)
 cursor: pointer
 display: inline-block
 height: 24px
 position: relative
 vertical-align: top
 width: 24px
 float: right
 &:before,
 &:after
 background: #fff
 content: ""
 display: block
 height: 2px
 left: 50%
 margin-left: -25%
 margin-top: -1px
 position: absolute
 top: 50%
 width: 50%
 &:before
 transform: rotate(45deg)
 &:after
 transform: rotate(-45deg)
 &:hover
 background: rgba(51,51,51,0.5)
 .notification
 width: 100%
 line-height: 2
 z-index: 3
 position: fixed
 top: 0
 left: 0
 .content
 padding: .75rem 2rem
</style>

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.chinadenli.net,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞標(biāo)題:vue.js的提示組件-創(chuàng)新互聯(lián)
鏈接分享:http://www.chinadenli.net/article28/dhcpcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設(shè)虛擬主機網(wǎng)站制作企業(yè)建站外貿(mào)建站網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化