国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
當前位置: 首頁 - 科技 - 知識百科 - 正文

在Vue.js中使用Mixins的方法

來源:懂視網 責編:小采 時間:2020-11-27 22:30:27
文檔

在Vue.js中使用Mixins的方法

在Vue.js中使用Mixins的方法:一個很常見的場景: 有兩個非常相似的組件, 它們擁有非常相似的基本功能, 但是它們之間又有足夠的不同的地方, 該如何選擇呢? 我們是應該將它們分成兩個完全不同的組件呢? 還是創建一個基礎組件, 然后定義足夠多的props以方便區分使用場景?
推薦度:
導讀在Vue.js中使用Mixins的方法:一個很常見的場景: 有兩個非常相似的組件, 它們擁有非常相似的基本功能, 但是它們之間又有足夠的不同的地方, 該如何選擇呢? 我們是應該將它們分成兩個完全不同的組件呢? 還是創建一個基礎組件, 然后定義足夠多的props以方便區分使用場景?

一個很常見的場景: 有兩個非常相似的組件, 它們擁有非常相似的基本功能, 但是它們之間又有足夠的不同的地方, 該如何選擇呢? 我們是應該將它們分成兩個完全不同的組件呢? 還是創建一個基礎組件, 然后定義足夠多的props以方便區分使用場景?

這兩種方式都不是完美的: 如果你將它們分成兩個完全不同的組件, 在需求變化(功能變化)時, 可能會增加需要同時修改兩個組件的風險, 這違反了”DRY”的前提. 另一方面, 太多的props很快會讓人變得凌亂, 并且, 迫使維護人員, 甚至是你自己, 要首先理解這些props的上下文才能使用它, 這會讓人非常失望.

Vue的Mixins是非常實用的編程方式, 因為最終實用的編程是通過不斷減少運動部件(moving parts)使代碼變得容易理解. (關于這一點, Michael Feathers有一個很好的引用). 一個mixin允許你封裝一個功能, 以便你能在整個應用程序中的不同組件中使用它. 如果mixin被正確的創建, 它們是純粹的–它們不會修改或更改函數的作用范圍(scope)之外的內容, 因此, 您可以在多個地方執行它們, 并且只要輸入值相同, 總是能非常可靠得得到相同的結果. 這真的非常強大.

認識Mixins

混合 (mixins) 是一種分發 Vue 組件中可復用功能的非常靈活的方式。混合對象可以包含任意組件選項。以組件使用混合對象時,所有混合對象的選項將被混入該組件本身的選項。

栗子

假設我們有一些不同的組件, 它們的工作是切換狀態boolean, 一個模態(modal)和一個提示(tooltip). 這些tooltips和modals沒有很多共同之處, 除了這個功能: 它們看起來不一樣, 它們使用起來也不盡相同, 但是它們的邏輯是相似的 .

//modal
const Modal = {
 template: '#modal',
 data() {
 return {
 isShowing: false
 }
 },
 methods: {
 toggleShow() {
 this.isShowing = !this.isShowing;
 }
 }
}
 
//tooltip
const Tooltip = {
 template: '#tooltip',
 data() {
 return {
 isShowing: false
 }
 },
 methods: {
 toggleShow() {
 this.isShowing = !this.isShowing;
 }
 }
}

我們可以從中提取邏輯, 并創建可以復用的部分:

const toggle = {
 data() {
 return {
 isShowing: false
 }
 },
 methods: {
 toggleShow() {
 this.isShowing = !this.isShowing;
 }
 }
}
 
const Modal = {
 template: '#modal',
 mixins: [toggle]
};
 
const Tooltip = {
 template: '#tooltip',
 mixins: [toggle]
};

duang — 一個小而簡單的:chestnut:讓我們知道了Mixins對于封裝一些可復用的功能如此有趣、方便、實用。

demo地址:https://github.com/hzzly/xyy-vue

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

文檔

在Vue.js中使用Mixins的方法

在Vue.js中使用Mixins的方法:一個很常見的場景: 有兩個非常相似的組件, 它們擁有非常相似的基本功能, 但是它們之間又有足夠的不同的地方, 該如何選擇呢? 我們是應該將它們分成兩個完全不同的組件呢? 還是創建一個基礎組件, 然后定義足夠多的props以方便區分使用場景?
推薦度:
標簽: 如何 VUE 使用方法
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 亚洲欧美二区三区久本道 | 亚洲国产精品热久久 | 一级一级特黄女人精品毛片视频 | 国产亚洲欧美日韩俺去了 | 亚洲欧美另类第一页 | 国产精品免费大片一区二区 | 一级毛片免费毛片毛片 | 蜜臀91精品国产高清在线观看 | 亚洲欧洲视频在线 | 精品一区二区三区18 | 日韩欧美国产精品第一页不卡 | 欧美一区二区三区视频在线观看 | 国产成a人片在线观看视频下载 | 国产精品免费观看视频 | 久草伦理 | 91字幕网 | 欧美第一夜 | 国产欧美在线观看视频 | 欧美在线视频网 | 精品欧美在线观看 | 午夜精品一区二区三区在线视 | 亚洲第一区视频 | 日韩三级一区二区 | 欧美日韩网 | 另类在线| 欧美色图一区二区 | 一区二区三区成人 | 国产一区二区三区精品视频 | 国产成人亚洲综合一区 | 欧美精品一区二区精品久久 | 欧美激情爱爱 | 日韩欧美在线第一页 | 欧美成人高清在线视频大全 | 国产欧美日韩另类va在线 | 亚洲欧美日韩中文v在线 | 任你躁欧美一级在线精品免费 | 国产日韩欧美精品在线 | 久久无码av三级 | 日韩αv | 日韩伦理亚洲欧美在线一区 | 亚洲精品免费在线 |