最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue組件的繼承用法示例詳解

 更新時間:2022年08月17日 09:42:07   作者:mochenxiya  
這篇文章主要介紹了Vue組件的繼承用法,本文通過實例代碼案例講解給大家介紹的非常詳細,需要的朋友可以參考下

Vue組件的繼承用法

vue組件的繼承適用于UI幾乎一樣,只是數據不一樣的情況下,但是這種情況通過統(tǒng)一封裝組件也是能實現(xiàn)的,小功能建議用封裝,大功能建議用組件繼承,因為大功能在結合搜參數的需要多重的判斷,這樣會導致封裝的組件比較繁雜,出現(xiàn)過多的判斷,用繼承可以改寫基類中的方法和數據

基類案例:

<template>
  <div class="hello">
    父類:{{name}}
    <span>{{title}}</span>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data(){
    return{
      name:'末晨曦吖',
      title:'Vue組件的繼承用法'
    }
  },
  mounted(){
    console.log('父組件',this.name);
  },
  methods:{
    handle(){
      console.log('我是父組件方法');
    }
  }
}
</script>

<style scoped>

</style>

繼承基類案例:

<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
  name: 'App',
  extends:HelloWorld,
  data(){
    return {
      
    } 
  },
  mounted() {
    console.log("子類繼承父組件name", this.name);
    this.handle()
    // this.title = '子組件更改了title'
  },
  components:{
    
  },
  methods:{
    
  }
}
</script>

<style scoped>
 
</style>

效果:

可以看見,不改寫基類的時候,繼承了父類的所有東西,當前的data,dom,方法都繼承了

改寫父類案例:

<template>
  <div id="app">
    子組件:{{name}}
    <span>{{title}}</span>
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
  name: 'App',
  extends:HelloWorld,
  data(){
    return {
      
    } 
  },
  mounted() {
    console.log("子類繼承父組件name", this.name);
    this.handle()
    this.name = '子組件更改了name'
    this.title = '子組件更改了title'
  },
  components:{
    
  },
  methods:{
    handle(){
      console.log('子組件改寫方法');
    }
  }
}
</script>

<style scoped>
 
</style>

效果:

我們會發(fā)現(xiàn),改寫后基類的值也被覆寫了,方法也被覆寫了,html模板也完全被改寫了

HTML模板要么完全繼承,要么完全重寫,不能按需繼承某個部分。如果子類在結構上跟基類有所差異,還是需要在基類中做條件判斷。如果模板差異太大,可以重新定義子類自己的template,至少還可以重用一部分業(yè)務邏輯代碼。

到此這篇關于Vue組件的繼承用法的文章就介紹到這了,更多相關Vue組件繼承用法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 淺談element中InfiniteScroll按需引入的一點注意事項

    淺談element中InfiniteScroll按需引入的一點注意事項

    這篇文章主要介紹了淺談element中InfiniteScroll按需引入的一點注意事項,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • vue項目熱更新的坑及解決

    vue項目熱更新的坑及解決

    這篇文章主要介紹了vue項目熱更新的坑及解決方案,具有很好的參考價值,希望對的大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 使用vue自定義指令開發(fā)表單驗證插件validate.js

    使用vue自定義指令開發(fā)表單驗證插件validate.js

    今天就來介紹一下如何利用vue的自定義指令directive來開發(fā)一個表單驗證插件的過程,需要的朋友可以參考下
    2019-05-05
  • 詳解VueJs中的V-bind指令

    詳解VueJs中的V-bind指令

    v-bind 主要用于屬性綁定,比方你的class屬性,style屬性,value屬性,href屬性等等,只要是屬性,就可以用v-bind指令進行綁定.這篇文章主要介紹了VueJs中的V-bind指令,需要的朋友可以參考下
    2018-05-05
  • Vue中使用import進行路由懶加載的原理分析

    Vue中使用import進行路由懶加載的原理分析

    這篇文章主要介紹了Vue中使用import進行路由懶加載的原理分析。具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue實現(xiàn)虛擬滾動的示例詳解

    vue實現(xiàn)虛擬滾動的示例詳解

    虛擬滾動或者移動是指禁止原生滾動,之后通過監(jiān)聽瀏覽器的相關事件實現(xiàn)模擬滾動,下面小編就來和大家詳細介紹一下vue實現(xiàn)虛擬滾動的示例代碼,需要的可以參考下
    2023-10-10
  • vue-froala-wysiwyg 富文本編輯器功能

    vue-froala-wysiwyg 富文本編輯器功能

    這篇文章主要介紹了vue-froala-wysiwyg 富文本編輯器功能,分步驟給大家介紹了vue3.中如何安裝使用froala,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Vue.js中關于“{{}}”的用法

    Vue.js中關于“{{}}”的用法

    這篇文章主要介紹了Vue.js中關于“{{}}”的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解如何將 Vue-cli 改造成支持多頁面的 history 模式

    詳解如何將 Vue-cli 改造成支持多頁面的 history 模式

    本篇文章主要介紹了詳解如何將 Vue-cli 改造成支持多頁面的 history 模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • vue實現(xiàn)防抖的實例代碼

    vue實現(xiàn)防抖的實例代碼

    這篇文章主要給大家介紹了關于vue實現(xiàn)防抖的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01

最新評論

阿坝| 灵石县| 织金县| 县级市| 寻甸| 三都| 陇西县| 丹东市| 抚顺县| 洪泽县| 龙川县| 玛纳斯县| 应城市| 陕西省| 大同市| 汾西县| 金平| 高邑县| 榆树市| 通榆县| 托克托县| 龙江县| 犍为县| 宁安市| 云阳县| 老河口市| 越西县| 阿克陶县| 白朗县| 丽江市| 包头市| 海原县| 肇庆市| 云龙县| 绥宁县| 长治县| 明溪县| 手游| 廉江市| 黑山县| 寿光市|