Vue組件化學(xué)習(xí)之scoped詳解
簡(jiǎn)介
主要介紹scoped的作用。
先弄一個(gè)案例:
main.js:
//引入vue依賴 import Vue from 'vue' //引入組件App import App from './App.vue' // 關(guān)閉生產(chǎn)提示 Vue.config.productionTip = false //創(chuàng)建一個(gè)vue實(shí)例 new Vue({ //這個(gè)目前還沒(méi)學(xué)過(guò),先知道他的作用是將app放入容器中。 render: h => h(App), //配置該vue實(shí)例管理id為app的容器 }).$mount('#app')
App.vue:
<template> <!-- 編寫結(jié)構(gòu) --> <div> <school></school> <hr> <student></student> </div> </template> <script> // 原本的引入 // import school from "./School.vue" // import student from "./Student.vue" //修改后的 //引入school組件和student組件,涉及es模塊化的語(yǔ)法 import school from "./components/School.vue" import student from "./components/Student.vue" export default { components:{ //注冊(cè)組件 school, student } } </script> <style> </style>
School.vue:
<template> <!-- 編寫組件結(jié)構(gòu)代碼,也就是html代碼 --> <!-- 需要一個(gè)div括住,也就是只能有一個(gè)根元素,一般使用div --> <div class="orange"> <div>學(xué)校:{{schoolName}}</div> <div>地址:{{schoolAddress}}</div> </div> </template> <script> //交互代碼編寫的地方,需要暴露出去給其他地方引入 //這個(gè)需要有一點(diǎn)es6模塊化的知識(shí),這里一般使用默認(rèn)暴露,因?yàn)檫@是單文件組件,只需要暴露一個(gè)組件對(duì)象, //并且引入默認(rèn)暴露的組件引入語(yǔ)法比較簡(jiǎn)單。 export default { data() { return { schoolName:"尚硅谷", schoolAddress:"北京" } }, } </script> <style> /* 編寫樣式的地方 */ .orange{ background-color: orange; } </style>
student.vue:
<template> <!-- 編寫組件結(jié)構(gòu)代碼,也就是html代碼 --> <!-- 需要一個(gè)div括住,也就是只能有一個(gè)根元素,一般使用div --> <div class="orange"> <div>學(xué)生姓名:{{studentName}}</div> <div>年齡:{{studentAge}}</div> </div> </template> <script> //交互代碼編寫的地方,需要暴露出去給其他地方引入 //這個(gè)需要有一點(diǎn)es6模塊化的知識(shí),這里一般使用默認(rèn)暴露,因?yàn)檫@是單文件組件,只需要暴露一個(gè)組件對(duì)象, //并且引入默認(rèn)暴露的組件引入語(yǔ)法比較簡(jiǎn)單。 export default { data() { return { studentName:"張三", studentAge:18 } }, } </script> <style> /* 編寫樣式的地方 */ .orange{ background-color: gray; } </style>
效果:
看兩個(gè)組件的樣式代碼,都使用了同名的orange類來(lái)設(shè)置樣式,但是一個(gè)設(shè)置背景顏色為橙色,一個(gè)為灰色,父組件App最后會(huì)匯總所有子組件中的樣式,這樣的話,這兩個(gè)樣式設(shè)置就沖突了,所以導(dǎo)致School組件的背景色本來(lái)應(yīng)該是橙色的,但是變成灰色了。
所以,引入scoped的作用:使樣式在局部生效,防止沖突。
添加在style標(biāo)簽中的,
結(jié)果:
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Element-ui 自帶的兩種遠(yuǎn)程搜索(模糊查詢)用法講解
這篇文章主要介紹了Element-ui 自帶的兩種遠(yuǎn)程搜索(模糊查詢)用法講解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01vue中vxe-table虛擬滾動(dòng)列表的使用詳解
vxe-table 是一個(gè)功能強(qiáng)大的 Vue 表格組件,它支持虛擬滾動(dòng)列表作為其核心功能之一,本文主要介紹一下vxe-table的虛擬滾動(dòng)列表功能的使用場(chǎng)景和優(yōu)勢(shì),感興趣的可以了解下2023-12-12VUE2.0+Element-UI+Echarts封裝的組件實(shí)例
下面小編就為大家分享一篇VUE2.0+Element-UI+Echarts封裝的組件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03vue-cli是什么及創(chuàng)建vue-cli項(xiàng)目的方法
vue-cli是 vue 官方提供的、快速生成 vue 工程化項(xiàng)目的工具,支持創(chuàng)建vue2和vue3的項(xiàng)目,本文給大家詳細(xì)講解vue-cli是什么及創(chuàng)建vue-cli項(xiàng)目的方法,感興趣的朋友跟隨小編一起看看吧2023-04-04ant design vue嵌套表格及表格內(nèi)部編輯的用法說(shuō)明
這篇文章主要介紹了ant design vue嵌套表格及表格內(nèi)部編輯的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Vue + OpenLayers 快速入門學(xué)習(xí)教程
大家都知道使用 Openlayers可以很靈活自由的做出各種地圖和空間數(shù)據(jù)的展示。而且這個(gè)框架是完全免費(fèi)和開源的,本文記錄下 Vue 使用 OpenLayers 入門,使用 OpenLayers 創(chuàng)建地圖組件的相關(guān)知識(shí),需要的朋友一起學(xué)習(xí)下吧2021-09-09