中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

Vue.js中怎么實現一個復用組件

這期內容當中小編將會給大家帶來有關Vue.js中怎么實現一個復用組件,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創新互聯公司堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站制作、成都網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的嘉祥網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

首先看看quiList.vue

//quiList.vue
<template>
 <div class="qui-list">
 <span class="list-tips">{{tipsText}}</span>
 <qui-btn v-on:btnClickEvent="btnClickEvent" :msg=msg class="small"></qui-btn>
 </div>
</template>

<script>
 import quiButton from '../components/quiButton.vue'
 export default{
 props:{
  msg: {
  default: '下載'
  },
  tipsText: {
  default: '默認的文案'
  }
 },
 components: {
  'qui-btn': quiButton
 },
 methods:{
  btnClickEvent:function(){
   alert('按鈕點擊事件')
  }
 }
 }
</script>

上面的知識點基本上就是我們之前學過的,只不過記住quiList本身是一個組件,而在這個組件里面,我們又引入了按鈕組件quiButton,也就是組件內引用組件,實際上就是組件的嵌套,注意到這里:msg=msg的使用,這里冒號表示綁定的是一個變量msg,然后這個屬性通過props暴露出去(本身在按鈕中就暴露了msg給列表組件使用),借用下面一張圖理解下:

Vue.js中怎么實現一個復用組件

至于點擊事件,也是我們之前學習過的事件的綁定。現在引入一個新問題,是否有一個參數,可以決定列表組件的右側是放置按鈕組件呢?還是箭頭組件。

動態組件

Vue中提供了一些特定關鍵字:is和特定的結構<component>來生成動態組件,讓我們修改下script里面的內容先:

<script>
 import quiButton from '../components/quiButton.vue'
 import quiArrow from '../components/quiArrow.vue'
 export default{
 props:{
  msg: {
  default: '下載'
  },
  tipsText: {
  default: '默認的文案'
  },
  currentView:{
  default: 'qui-btn'
  }
 },
 components: {
  'qui-btn': quiButton,
  'qui-arrow': quiArrow
 },
 methods: {
  clickEvent: function () {

  }
 }
 }
</script>

首先我們先Import多一個箭頭組件,在components中添加一個自定義標簽‘qui-arrow',注意到我們多了一個currentView的自定義屬性,默認值是qui-btn,現在再看看template標簽里面寫什么:

<template>
 <div class="qui-list">
 <span class="list-tips">{{tipsText}}</span>
 <component :is="currentView" v-on:btnClickEvent="clickEvent" :msg=msg class="small" keep-alive></component>
 </div>
</template>

我們把qui-btn標簽去掉了,取而代之的是一個component標簽,這是Vue自帶的一個標簽,可以把它當作一個容器,這個容器可以用來裝按鈕,也可以用來裝箭頭。決定這個容器裝的是哪個組件的關鍵代碼在于:is="currentView",當currentView的值為qui-btn的時候,這個容器就是按鈕組件,當它是qui-arrow的時候,就是箭頭組件。而我們剛才給這個變量定義的默認值是qui-btn。

keep-alive關鍵字保持這個組件在內存中是常駐的,由于動態組件可能需要動態切換,這樣保持組件活躍可以減少組件變化時候的內存消耗。

可以看到我們的component上還保留著按鈕的點擊事件和msg信息,這些沒有關系,只要箭頭組件中不出現同樣的變量就不會發生沖突。

<qui-list tipsText="自定義文案,默認右邊是按鈕" msg="彈層"></qui-list>
<qui-list v-on:btnClickEvent="test"></qui-list>
<qui-list ref="child1" tipsText="最右邊是箭頭" currentView="qui-arrow"></qui-list>

使用列表組件的時候,只需要給暴露出來的currentView指定一個值,就可以決定右側是按鈕還是箭頭了。注意最后一個qui-list上有一個ref的屬性,這個屬性代表組件集合,當頁面中有很多組件的時候,可以通過幾種方法來獲取對應的某個組件的信息:

console.log(this.$children[0].msg);//通過數組獲取
console.log(this.$refs.child1.msg);//通過對象集合獲取

其實關于動態組件,不一定要用:is+component來實現,在Vue中有一個指令叫做v-if / v-else / v-else-if,統稱判斷指令,配合展示指令v-show,可以根據指定的值來決定對應的組件是否應該展示,另外這種做法我不展示了,就當做一個作業吧,有興趣的還是建議實戰一下,畢竟我們也只是教大家入門學習,后面還是希望大家能夠自己去擴展學習。

生命周期

這里簡單講一下什么是組件的生命周期,上面我們通過refs來獲取組件對象的信息,那么在什么時候或者說哪個時機點去做這件事呢,組件從引用到調用到銷毀(比較少操作)有以下幾個關鍵回調函數:

<script>
 export default {
 components: {
  'qui-list': quiList
 },
 beforeCreate:function(){},//組件實例化之前
 created:function(){},//組件實例化了
 beforeMount:function(){},//組件寫入dom結構之前
 mounted:function(){//組件寫入dom結構了
  console.log(this.$children);
  console.log(this.$refs);
 },
 beforeUpdate:function(){},//組件更新前
 updated:function(){},//組件更新比如修改了文案
 beforeDestroy:function(){},//組件銷毀之前
 destroyed:function(){}//組件已經銷毀
 }
</script>

所以要想使用refs的內容,就需要在組件寫入dom之后才能開始調用哦!

我還需要學什么

目前為止,我們三篇文章已經學了大部分的關于組件和路由的知識,當然這并不是Vue的全部,只是相對于其他的知識點,這些可以算是一個墊腳石,看懂了這些,對后面其他API的應用,幫助很大。下面我列舉一些其他的,后續大家可以去官網查看資料的一些關鍵點,其實都不難,只要有一些小小的項目demo實踐,你會發現Vue也不過如此。

過渡

過渡其實就是CSS3動畫,transition這些,只是寫CSS3變成好像在寫JS一樣,有點類似于greenSock的一些思想。

指令

目前為止我們學習了一些常用指令,像v-on,v-bind,v-for,還有幾個常用的像剛才提到的判斷指令和v-show指令,還有v-model指令(主要用于input等表單組件)。

上述就是小編為大家分享的Vue.js中怎么實現一個復用組件了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。

標題名稱:Vue.js中怎么實現一個復用組件
網站網址:http://www.2m8n56k.cn/article6/jssgog.html

成都網站建設公司_創新互聯,為您提供服務器托管App設計標簽優化品牌網站設計做網站用戶體驗

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: 美女在线网站免费的 | 99久久99久久精品免费看子 | 欧美做爰野外在线视频观看 | 日韩精品一区二区在线观看 | 中文字幕亚洲综合久久男男 | 成年女人在线视频 | 91av观看| 美国一级毛片免费看 | 一级毛片中文字幕 | 三级网站免费观看 | 日韩精品一区二区三区在线观看 | 免费看片aⅴ免费大片 | 成人 在线播放 | 毛片免费观看视频 | 91麻精品国产91久久久久 | 亚洲欧美精品一区天堂久久 | 国产孕妇孕交视频在线观看 | 日本精品网| 国产激情一区二区三区在线观看 | 久久久久88色偷偷免费 | 久 在线播放 | 久久伊人网站 | 久久亚洲精品tv | 精品国产福利 | 最新日韩欧美不卡一二三区 | 欧美日韩一区二区三区视频播 | 亚洲国产精品久久人人爱 | 日本毛片免费看 | 国产成人咱精品视频免费网站 | 男人女人做性全程视视频 | 自拍 欧美 在线 综合 另类 | 国产高清亚洲精品26u | av在线亚洲男人的天堂 | 久草免费精品视频 | 免费国产成人午夜在线观看 | 天堂精品高清1区2区3区 | 爽爽爽爽爽爽a成人免费视频 | 国产精品福利午夜一级毛片 | 成人手机视频在线观看 | 特级毛片免费视频播放 | 怡红院宜春院 |