在寫單文件組件時(shí),一般都是把標(biāo)簽、腳本、樣式寫到一起,這樣寫個(gè)人感覺(jué)有點(diǎn)不夠簡(jiǎn)潔,所以就想著把樣式分離出去。
采用import加載樣式
在局部作用域(scoped)采用@import加載進(jìn)來(lái)的樣式文件,想法是美好的。以為這樣加載進(jìn)來(lái)的樣式文件也只對(duì)當(dāng)前組件有效;可現(xiàn)實(shí)是殘酷的,這樣加載進(jìn)來(lái)的樣式無(wú)法限制其作用域。
<style scoped> @import "樣式文件"; </style>
解決方案
采用 src屬性加載樣式。
<style src="樣式路徑" scoped></style>
PS:關(guān)于vue單文件組件中樣式的問(wèn)題
在寫單文件組件的項(xiàng)目時(shí),遇到過(guò)這樣的問(wèn)題。某一個(gè)樣式類,明明我只寫了兩個(gè)padding,但是在我用webpack
構(gòu)建之后,莫名其妙的多出了很多其他的樣式。
后來(lái),無(wú)意中看見別人的提問(wèn)中,說(shuō)如何解決單文件組件中樣式同名的問(wèn)題。
我就想,會(huì)不會(huì)是不同的.vue文件里使用了同名類的原因。
于是,我在style標(biāo)簽后面加上了scoped這個(gè)關(guān)鍵字之后,再npm run build,果然好了。
原因:
不加scoped表示樣式是全局共享的。
加上了scoped就是這個(gè)樣式只能在這個(gè).vue文件里面有效。
總結(jié)
以上所述是小編給大家介紹的解決vue 單文件組件中樣式加載問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com