最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

vuemixins與extends的使用方法

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:55:01
文檔

vuemixins與extends的使用方法

vuemixins與extends的使用方法:這次給大家?guī)韛ue mixins與extends的使用方法,vue mixins與extends使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。vue提供了mixins、extends配置項,最近使用中發(fā)現(xiàn)很好用。 混合mixins和繼承extends 看看官方文檔怎么寫的,其實兩個都可
推薦度:
導(dǎo)讀vuemixins與extends的使用方法:這次給大家?guī)韛ue mixins與extends的使用方法,vue mixins與extends使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。vue提供了mixins、extends配置項,最近使用中發(fā)現(xiàn)很好用。 混合mixins和繼承extends 看看官方文檔怎么寫的,其實兩個都可

這次給大家?guī)韛ue mixins與extends的使用方法,vue mixins與extends使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

vue提供了mixins、extends配置項,最近使用中發(fā)現(xiàn)很好用。

混合mixins和繼承extends

看看官方文檔怎么寫的,其實兩個都可以理解為繼承,mixins接收對象數(shù)組(可理解為多繼承),extends接收的是對象或函數(shù)(可理解為單繼承)。

繼承鉤子函數(shù)

const extend = {
 created () {
 console.log('extends created')
 }
}
const mixin1 = {
 created () {
 console.log('mixin1 created')
 }
}
const mixin2 = {
 created () {
 console.log('mixin2 created')
 }
}
export default {
 extends: extend,
 mixins: [mixin1, mixin2],
 name: 'app',
 created () {
 console.log('created')
 }
}

控制臺輸出

extends created
mixin1 created
mixin2 created
created
  • 結(jié)論: 優(yōu)先調(diào)用mixins和extends繼承的父類,extends觸發(fā)的優(yōu)先級更高,相對于是隊列

  • push(extend, mixin1, minxin2, 本身的鉤子函數(shù))
  • 經(jīng)過測試, watch的值 繼承規(guī)則一樣。
  • 繼承methods

    const extend = {
     data () {
     return {
     name: 'extend name'
     }
     }
    }
    const mixin1 = {
     data () {
     return {
     name: 'mixin1 name'
     }
     }
    }
    const mixin2 = {
     data () {
     return {
     name: 'mixin2 name'
     }
     }
    }
    // name = 'name'
    export default {
     mixins: [mixin1, mixin2],
     extends: extend,
     name: 'app',
     data () {
     return {
     name: 'name'
     }
     }
    }
    // 只寫出子類,name = 'mixin2 name',extends優(yōu)先級高會被mixins覆蓋
    export default {
     mixins: [mixin1, mixin2],
     extends: extend,
     name: 'app'
    }
    // 只寫出子類,name = 'mixin1 name',mixins后面繼承會覆蓋前面的
    export default {
     mixins: [mixin2, mixin1],
     extends: extend,
     name: 'app'
    }
  • 結(jié)論:子類再次聲明,data中的變量都會被重寫,以子類的為準(zhǔn)。

  • 如果子類不聲明,data中的變量將會最后繼承的父類為準(zhǔn)。
  • 經(jīng)過測試, props中屬性 、 methods中的方法 和 computed的值 繼承規(guī)則一樣。
  • 下面單獨(dú)介紹下mixins、extends、extend

    mixins

    調(diào)用方式: mixins: [mixin1, mixin2]

    是對父組件的擴(kuò)充,包括methods、components、directive等。。

    觸發(fā)鉤子函數(shù)時,先調(diào)用mixins的函數(shù),再調(diào)用父組件的函數(shù)。

    雖然也能在創(chuàng)建mixin時添加data、template屬性,但當(dāng)父組件也擁有此屬性時以父為準(zhǔn),從這一點也能看出制作者的用心(擴(kuò)充)。

    data、methods內(nèi)函數(shù)、components和directives等鍵值對格式的對象均以父組件/實例為準(zhǔn)

    extends

    調(diào)用方式: extends: CompA

    同樣是對父組件的擴(kuò)充,與mixins類似,但優(yōu)先級均次于父組件

    extend

    擴(kuò)展組件的構(gòu)造器

    當(dāng)我們調(diào)用vue.component('a', {...})時自動調(diào)用

    值得注意的是extend內(nèi)的data為一個函數(shù)

    相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!

    推薦閱讀:

    axios客戶端中ajax請求方式

    vue.js vue-router提升用戶體驗

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    vuemixins與extends的使用方法

    vuemixins與extends的使用方法:這次給大家?guī)韛ue mixins與extends的使用方法,vue mixins與extends使用的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。vue提供了mixins、extends配置項,最近使用中發(fā)現(xiàn)很好用。 混合mixins和繼承extends 看看官方文檔怎么寫的,其實兩個都可
    推薦度:
    標(biāo)簽: 使用 VUE 用法
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top