千鋒教育前端Vue3.0全套視頻教程(Kerwin2023版,Vue.js零基礎(chǔ)

1.封裝、繼承、多態(tài)是面向?qū)ο笳Z言的三大特征
封裝: 封裝是將數(shù)據(jù)和操作(方法)組合在一起形成一個(gè)單元,同時(shí)限制外部訪問這個(gè)單元的方式。通過封裝,我們可以隱藏?cái)?shù)據(jù)的具體實(shí)現(xiàn)細(xì)節(jié),只暴露必要的接口供其他對(duì)象使用。這樣可以提高代碼的可維護(hù)性和安全性。封裝還鼓勵(lì)了代碼的模塊化和解耦,使得系統(tǒng)更加靈活。
繼承: 繼承是指一個(gè)類從另一個(gè)類繼承屬性和方法。通過繼承,我們可以創(chuàng)建新的類,并且這些新類可以繼承父類的特性。父類通常被稱為基類或超類,子類可以通過繼承來擴(kuò)展或修改父類的行為。繼承可以節(jié)省代碼,減少重復(fù)編寫,并且有助于構(gòu)建和維護(hù)一個(gè)類層次結(jié)構(gòu)。
多態(tài): 多態(tài)是指同一個(gè)方法可以在不同的對(duì)象上具有多種不同的行為。在多態(tài)中,一個(gè)對(duì)象可以表現(xiàn)出多個(gè)類型的行為。多態(tài)通過實(shí)現(xiàn)方法重寫和方法重載來實(shí)現(xiàn)。方法重寫是指子類重寫父類的方法,以改變方法的行為。方法重載是指在同一個(gè)類中可以定義多個(gè)相同名稱但參數(shù)不同的方法。多態(tài)提高了代碼的可擴(kuò)展性和靈活性,使得代碼更容易理解和維護(hù)。
封裝、繼承和多態(tài)是面向?qū)ο缶幊痰幕A(chǔ),它們的應(yīng)用可以幫助我們編寫更具有結(jié)構(gòu)化、可維護(hù)和可復(fù)用性的代碼。
2.路由:
作用:做頁面導(dǎo)航,
鍵:{ path,component,name,redirect,alias children,components,meta....}
步驟:
1 導(dǎo)入 import { createRouter, createWebHashHistory } from "vue-router"
2 聲明路由 const router = createRouter({
?history: createWebHashHistory(),
?routes: [{path, component: ()=>import() },] })
3 注冊(cè)??app.use(router)
4 挖坑顯示 <router-view />
5 設(shè)置a標(biāo)簽跳轉(zhuǎn) router-link to
重定向和別名:
語法:
routes:[{path:"路徑" , name:"", component:組件名, }]
redirect:"路徑" 重定向/跳轉(zhuǎn)
alias:''路徑別名"
多學(xué)一招:path支持通配符*
3.組合式API
?傳統(tǒng)options api語法:隨著業(yè)務(wù)復(fù)雜度代碼冗余,維護(hù)麻煩,可重復(fù)性不高;
解決composition api語法/組合 api語法:概括理解將data、methods、computed等代碼統(tǒng)一放到setup中寫;
4.hooks 概念:
?hooks 本質(zhì)是一個(gè)函數(shù),是對(duì) setup 中使用的 composition API 的封裝
??hooks 復(fù)用率高,使setup中邏輯更清晰,代碼可讀性強(qiáng) 便于后期維護(hù)
hooks:封裝組合式API語法 有利于后期維護(hù)
一個(gè)use開頭的文件里面導(dǎo)出一個(gè)函數(shù) 并且函數(shù)中有返回值 函數(shù)名推薦use開頭
??導(dǎo)入使用 普遍都用解構(gòu)賦值
5.Dialog案例執(zhí)行過程:
深入理解封裝組件思想與組件中v-model的原理
6.組件:
什么是組件:是vue的一種開發(fā)思想.(組件化開發(fā)思想)讓我們通過獨(dú)立的、或可復(fù)用的組件來構(gòu)建網(wǎng)站,從而提高代碼復(fù)用性,便于后期維護(hù).
UI組件庫(kù)/框架:一堆提前封裝好的,項(xiàng)目開發(fā)常見的公共組件.為了統(tǒng)一開發(fā)規(guī)范和頁面布局,為了減少代碼冗余,便于后期維護(hù).
語法:(定義)app.component(組件名, {template: `放HTML代碼`, // template 模板 也就是html代碼
?data() {return {}},methods: {},computed: {},watch: {},//...})
(調(diào)用)<組件名></組件名>
組件關(guān)系:只要被調(diào)用就是子組件,公共組件:提高代碼復(fù)用.頁面組件:提高代碼可讀性.(方便后期維護(hù))
如何在組件中顯示數(shù)據(jù): 通過模板語法{{data中的鍵}}
如何在組件中使用事件: 通過事件語法@事件類型="函數(shù)名"
層級(jí)思想:只要被調(diào)用的組件 都屬于當(dāng)前頁面的子組件(站在html結(jié)構(gòu)上有父標(biāo)簽 子標(biāo)簽)。
封裝思想:公共組件-增加代碼復(fù)用性,邏輯/頁面組件-增加代碼可讀性。
組件通信:不同父調(diào)用NavBar子組件所顯示的內(nèi)容不一樣,父得傳遞數(shù)據(jù)給子 也就是組件通信
?props(父?jìng)髯?:是啥:組件內(nèi)部的一個(gè)語法??作用:獲取組件屬性值
????props屬性 =》會(huì)自動(dòng)保存到模型中,然后視圖通過 {{屬性名}} 來獲取顯示數(shù)據(jù)
????調(diào)用: <組件名 屬性名="值" 或 v-bind:屬性名="data中的鍵"></組件名>
????定義:app.component(組件名, { // 核心目的獲取屬性數(shù)據(jù) -> 自動(dòng)注入到模型中 -> 調(diào)用
??props: [屬性名, ..., 屬性名],或
??props: {屬性名: 類型, // 情況1:?jiǎn)晤愋?屬性名: [類型,...,類型],?// 情況2:多類型 屬性名: { // 情況3:對(duì)象既可以檢查類型又可以驗(yàn)證還有默認(rèn)數(shù)等type: String,required: true,//(必須要傳,不傳報(bào)錯(cuò))default: 100,validator: function (value) {return bool}}},template: ``,data() {},methods: {},....})
??$emit(子傳父): 通知(發(fā)送通知):this.$emit("自定義事件名稱", 數(shù)據(jù),....,數(shù)據(jù))
執(zhí)行(監(jiān)控通知):@自定義事件名稱="父處理函數(shù)"
單項(xiàng)數(shù)據(jù)流:單向數(shù)據(jù)流指在組件化思想,開發(fā)的項(xiàng)目中,數(shù)據(jù)由根或者父組件傳遞給子組件,禁止子組件中直接更改,而是由父更改后重新傳遞給子數(shù)據(jù)使用
組件通信其他方案:定義數(shù)據(jù),父寫provide: {數(shù)據(jù)名: 值}
使用數(shù)據(jù)子寫(注:可以理解為同步模型 因此可以直接視圖使用)
inject:['數(shù)據(jù)名', ...., '數(shù)據(jù)名']
組件通信:插槽slot:
默認(rèn): 步驟1:定義組件 通過<slot></slot>占位留一個(gè)口子/槽
步驟2:調(diào)用組件 留心:雙標(biāo)簽中的內(nèi)容 會(huì)自動(dòng)填充到口子/槽 中
具名:步驟1:定義組件 通過<slot name="標(biāo)識(shí)"></slot>占位留一個(gè)口子/槽
步驟2:調(diào)用組件 根據(jù)下述語法插入數(shù)據(jù)(留心1:如果標(biāo)識(shí)不寫則插入默認(rèn)口子/槽 留心2:標(biāo)識(shí)不能加引號(hào)
新:<template #標(biāo)識(shí)>內(nèi)容</template>
作用域:步驟1:定義組件 <slot name="標(biāo)識(shí)" v-bind:任意名稱="data模型中的鍵" ... ></slot> 傳數(shù)據(jù)
步驟2:調(diào)用組件 通過下述語法就可以獲取組件模型數(shù)據(jù)(留心:item是對(duì)象 鍵就是一個(gè)個(gè)任意數(shù)據(jù)
新:<template #標(biāo)識(shí)="props">內(nèi)容</template>
動(dòng)態(tài)組件:步驟1:定義組件/頁面,通過剛剛語法創(chuàng)建
步驟2:在頁面調(diào)用顯示即可 <component is="組件名"></component>
ui組件: 一堆提前封裝好的,項(xiàng)目開發(fā)常見的公共組件
有pc elementui(餓了么)、pc iview(北京)、m vant ui(杭州有贊)、m mint ui(餓了么?等