4-1
Component 組件開發
main.js:程式的進入點
import { createApp } from 'vue'
import App2 from './App2.vue'
import router from './router'
import '@/assets/css/reset.css'
createApp(App2).use(router).mount('#app')
- 其中
App2.vue 就是一個 Component 組件
import { createApp } from 'vue' 若有{}表示是從組建中拆分出來的
import App2 from './App2.vue' 若沒有表示是該組件預設匯出的(一般和檔名一致)
- 亦可
import 共用的 css 檔 @ 來代表以組件的 src 目錄為起點
- Component 的基本架構(可放在
components 目錄下,檔案字首大寫 )
<script>
import { ref } from "vue";
// import some from "@/components/some.vue";
export default {
props: {},
emits: {},
components: {},
setup(props, {emit}) {
return {};
},
};
</script>
<template>
</template>
<style lang="scss" scoped>
</style>
export default 組件名稱{} 若是沒寫名稱,預設就是檔名
import { ref } from "vue"; 中的 {ref} 表示從 vue 組建中拆分出 ref 函式
return { isOpen, HandOpenMenu }; 中放常數、函式等,以便讓 <template> 樣板中的 {{文字樣板}} 或 v-bind、v-model、v-if、v-on...等修飾符使用
<style lang="scss" scoped> 代表要用 scss 預編譯器,且樣式設定只限定在此組件中
- 引入組件
<script>
import Header from "@/components/Header.vue";
import Footer from "@/components/Footer.vue";
export default {
components: {
Header,
Footer,
},
};
</script>
<template>
<div>
<Header></Header>
<Footer></Footer>
</div>
</template>
<style lang="scss">
* {
margin: 0;
padding: 0;
background-image: url("~@/assets/images/rightbtn2.jpg");
}
</style>
import Header from "@/components/Header.vue"; 中用 import 來引入 Header 表示組件預設匯出的內容,所以無須放到 {} 中,路徑的 @ 來代表以組件的 src 目錄為起點(若是放在<style>中要引入素材的話,要用 ~@ 來代表 src 目錄為起點)
components:{ Header } 中的 Header 表示要放到 <template> 樣板中去使用的組件名稱,可用<Header></Header>或<Header />來呈現
- SCSS用法:
- 練習網站:https://www.sassmeister.com/
- 用法:https://blog.techbridge.cc/2017/06/30/sass-scss-tutorial-introduction/