Vue extends 屬性的用法示例詳解
引言

最近在看抖音——《小山與 bug》,看到一個(gè)很神奇的 Vue 繼承組件的方法,后來專門去翻了 element 和 iview 的源碼,發(fā)現(xiàn)這個(gè)屬性的用法好像在這些框架里還沒有用到過,懷著試一試的態(tài)度,我就自己搭建了個(gè)測試項(xiàng)目,發(fā)現(xiàn)其實(shí)還是挺好用的,甚至有望代替目前我們前端框架業(yè)務(wù)代碼混入的底層實(shí)現(xiàn)。話不多說,直接上代碼:
App.vue
<template>
<div>
<Son></Son>
</div>
</template>
<script>
import Son from "./components/Son";
export default {
components: {
Son,
},
};
</script>
<style scoped></style>
Son.vue
<template>
</template>
<script>
import HelloWorld from "./HelloWorld.vue";
export default {
extends: HelloWorld,
data() {
return {
aa: 10,
};
},
};
</script>
HelloWorld.vue
<template>
<div>
<h1>{{ aa }}</h1>
<h1>{{ bb }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
aa: 0,
bb: 123,
};
},
mounted() {
this.init();
},
methods: {
init() {
this.aa += 10;
},
},
};
</script>
<style scoped></style>
小結(jié)
可以看到,Son 組件繼承了 HelloWorld 組件,并且修改了 aa 的初始值,運(yùn)行代碼我們可以看到,界面上顯示的 aa 變成了 20,不再是 10,那么這個(gè) extends 屬性到此其實(shí)已經(jīng)初見端倪——其實(shí) Vue 中所有的組件雖然沒有寫成 React 那種 class 的形式,但是實(shí)際來說也是一個(gè)類,這個(gè)時(shí)候,我們可以用 extends 實(shí)現(xiàn)對父組件的繼承,同時(shí)也支持對這個(gè)類進(jìn)行重寫,這也是面向?qū)ο笞顬殛P(guān)鍵的一步,真沒想到作為前端心心念念的面向?qū)ο?,其?shí)一直都在自己身邊,只不過自己沒發(fā)現(xiàn)。
基于上述情況,我們就可以得出一套 Vue 前端框架實(shí)現(xiàn)思路,就是我們先針對標(biāo)準(zhǔn)的業(yè)務(wù)邏輯開發(fā)一套代碼,然后作為底層架構(gòu),然后我們在關(guān)鍵的地方,比如數(shù)據(jù)加載前,彈窗打開前等等有可能會(huì)編寫不同的業(yè)務(wù)邏輯的地方,封裝一些操作前,操作后方法,默認(rèn)這些方法為空,啥都不干,當(dāng)我們配置好了框架,針對每個(gè)菜單,去編寫對應(yīng)的組件,這些組件都要繼承通用的模板,然后可以針對這些操作前,操作后方法進(jìn)行重寫,比如在操作前方法里加個(gè)校驗(yàn),對框架的某個(gè)組件進(jìn)行重寫定義等等,這樣就可以實(shí)現(xiàn)不同的業(yè)務(wù)場景復(fù)用一套代碼了。
以上就是Vue extends 屬性的用法示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue extends 屬性的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
解決vue的 v-for 循環(huán)中圖片加載路徑問題
今天小編就為大家分享一篇解決vue的 v-for 循環(huán)中圖片加載路徑問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
解決vue中使用swiper插件問題及swiper在vue中的用法
Swiper是純javascript打造的滑動(dòng)特效插件,面向手機(jī)、平板電腦等移動(dòng)終端。這篇文章主要介紹了解決vue中使用swiper插件及swiper在vue中的用法,需要的朋友可以參考下2018-04-04
Vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出導(dǎo)入實(shí)戰(zhàn)案例
我們經(jīng)常需要在Vue搭建的后臺管理系統(tǒng)里進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出等操作,下面這篇文章主要給大家介紹了關(guān)于Vue實(shí)現(xiàn)數(shù)據(jù)導(dǎo)出導(dǎo)入實(shí)戰(zhàn)案例的相關(guān)資料,需要的朋友可以參考下2023-01-01
Vue elementUI 自定義表單模板組件功能實(shí)現(xiàn)
在項(xiàng)目開發(fā)中,我們會(huì)遇到這種需求,在管理后臺添加自定義表單,在指定的頁面使用定義好的表單,這篇文章主要介紹了Vue elementUI 自定義表單模板組件,需要的朋友可以參考下2022-12-12
M1 pro芯片啟動(dòng)Vue項(xiàng)目的方法步驟
本文主要介紹了M1 pro芯片啟動(dòng)Vue項(xiàng)目的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
在 Vue 3 中設(shè)置 `@` 指向根目錄的幾種常見方法匯總
在 Vue 3 項(xiàng)目開發(fā)中,為了方便管理和引用文件路徑,設(shè)置 @ 指向根目錄是一項(xiàng)常見的需求,下面給大家分享在Vue3中設(shè)置 `@` 指向根目錄的方法匯總,感興趣的朋友一起看看吧2024-06-06

