Vue是目前比較流行的前端框架之一,它的模板渲染功能和組件化思想讓開發(fā)變得更加高效和靈活。當(dāng)我們在使用Vue開發(fā)一個項(xiàng)目時,通常會遇到需要全局應(yīng)用一些CSS樣式的情形。那么,Vue中如何實(shí)現(xiàn)全局CSS樣式呢?
在Vue中,可以通過使用Vue.mixin()方法來實(shí)現(xiàn)全局CSS樣式的應(yīng)用。在main.js文件中,我們可以定義一個公共的CSS樣式文件,并在該文件中定義全局CSS規(guī)則。如下所示:
import Vue from 'vue'; import App from './App.vue'; Vue.mixin({ mounted() { const css = require('./assets/css/common.css') const style = document.createElement('style') style.type = 'text/css' style.innerHTML = css document.getElementsByTagName('head')[0].appendChild(style) } }) new Vue({ render: h =>h(App), }).$mount('#app')
在上面的代碼中,我們通過Vue.mixin()方法定義一個全局混入對象,并在該對象的mounted()生命周期函數(shù)中動態(tài)創(chuàng)建一個style標(biāo)簽,并將公共的CSS樣式文件通過require()方法引入,并添加到head標(biāo)簽中。這樣,在所有的組件中都可以應(yīng)用該公共CSS樣式了。
需要注意的是,由于該方法會在每個組件的mounted()生命周期函數(shù)中都會被調(diào)用一次,因此會產(chǎn)生一些性能上的開銷。如果您的項(xiàng)目中存在大量的組件,建議盡量避免使用該方法,而是考慮將CSS樣式文件打包成一個單獨(dú)的文件,并通過標(biāo)簽的方式引入。
上一篇vue使用的css框架