繼續(xù)學(xué)習(xí)Vue,這次是一個組件的制作過程
我們提供的服務(wù)有:做網(wǎng)站、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、樅陽ssl等。為近千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的樅陽網(wǎng)站制作公司
先讓我們來看一下組件的預(yù)期效果
上圖為公司自營的一個微信商城的某一部分截圖,可以看到紅框內(nèi)部分的文字多行與單行是居中對齊的,我們現(xiàn)在要做的就是使用Vue把里邊的文字模塊制作成一個可以復(fù)用的組件。
首先我們先把css部分拿下來
css:
.word-v-middle{ margin-bottom: 0; font-size: 12px; min-height: 31px; display: flex; align-items: center; justify-content: center; height: 31px; margin-top: 5px; color: #87878a; white-space: normal; } .word-v-middle span{ text-align: left; font-size: 10px; text-overflow: -o-ellipsis-lastline; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
上邊就是組件的核心css,也就是使文字上下居中的css,接下來我們先把它封裝成一個Vue組件
html部分
<p class="word-v-middle"><span>文字內(nèi)容</span></p>
我們先把這部分注冊成一個組件,這里使用的是組件的局部注冊方法
var wordMiddle = { template:'<p class="word-v-middle"><span>文字內(nèi)容</span></p>', };
之后實(shí)例化
html:
<div id="exp"> <word-v-middle></word-v-middle> </div>
js:
new Vue({ el:"#exp", components:{ 'word-v-middle':wordMiddle } });
這樣第一步就算完成了效果圖如下
第二步我們來給組件綁定動態(tài)的數(shù)據(jù),我們先在組件注冊的時候添加一個props方法,讓組件可以接受數(shù)據(jù),之后使用data方法來為組件添加數(shù)據(jù)
var wordMiddle = { template:'<p class="word-v-middle"><span>{{msg}}</span></p>', props:['data'], data:function(){ return { msg:this.data }; } };
這樣我們的組件就可以接收數(shù)據(jù)并把數(shù)據(jù)綁定到內(nèi)容中,實(shí)例化時的代碼也要對應(yīng)的改變一下
html部分
<div id="exp"> <word-v-middle :data='aaa' ></word-v-middle> </div>
js部分
new Vue({ el:"#exp", data:{ aaa:'hello', }, components:{ 'word-v-middle':wordMiddle } })
到這里單個動態(tài)數(shù)據(jù)的組件以及完成了,但項(xiàng)目中用到這種對齊方式的一般都是多列的塊結(jié)構(gòu),所以我們再寫一個多列的例子,并使用循環(huán)綁定多個數(shù)據(jù)
css部分
#example2{ width: 100%; overflow: hidden; } #example2 div{ float: left; width: 25%; }
html部分
<div id="example2"> <div v-for='aaa in sites'> <word-v-middle :data='aaa' ></word-v-middle> </div> </div>
js部分
new Vue({ el:"#example2", data:{ sites:[ "洗發(fā)水洗發(fā)水洗發(fā)水", "洗發(fā)水洗發(fā)水", "洗發(fā)水洗發(fā)水洗發(fā)水洗發(fā)水洗發(fā)水", "洗發(fā)水洗發(fā)水", ] }, components:{ 'word-v-middle':wordMiddle } })
效果如上圖,上述代碼中,css部分是為了讓代碼為并列的四列,html中使用v-for方法循環(huán)數(shù)據(jù),在組建內(nèi)通過:data='aaa'接收循環(huán)輸出的數(shù)據(jù),而數(shù)據(jù)的來源是父元素實(shí)例化中的data內(nèi)的名為sites的數(shù)組,在實(shí)際項(xiàng)目中,把sites內(nèi)的數(shù)據(jù)換成后臺輸出的數(shù)組就可以實(shí)現(xiàn)后臺數(shù)據(jù)的綁定。
代碼還有很多不足的地方,比如想要更改上下對齊的行數(shù)還要通過修改css修改,這篇文章僅作為學(xué)習(xí)Vue的小結(jié),供自己以后復(fù)習(xí)學(xué)習(xí)使用,有什么問題希望大家指正。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
分享題目:vue組件實(shí)現(xiàn)文字居中對齊的方法
標(biāo)題網(wǎng)址:http://aaarwkj.com/article42/gjighc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)