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