<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuā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)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        在Vue.js中使用Mixins的方法

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:30:27
        文檔

        在Vue.js中使用Mixins的方法

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

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

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

        Vue的Mixins是非常實(shí)用的編程方式, 因?yàn)樽罱K實(shí)用的編程是通過(guò)不斷減少運(yùn)動(dòng)部件(moving parts)使代碼變得容易理解. (關(guān)于這一點(diǎn), Michael Feathers有一個(gè)很好的引用). 一個(gè)mixin允許你封裝一個(gè)功能, 以便你能在整個(gè)應(yīng)用程序中的不同組件中使用它. 如果mixin被正確的創(chuàng)建, 它們是純粹的–它們不會(huì)修改或更改函數(shù)的作用范圍(scope)之外的內(nèi)容, 因此, 您可以在多個(gè)地方執(zhí)行它們, 并且只要輸入值相同, 總是能非常可靠得得到相同的結(jié)果. 這真的非常強(qiáng)大.

        認(rèn)識(shí)Mixins

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

        栗子

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

        //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;
         }
         }
        }
        

        我們可以從中提取邏輯, 并創(chuàng)建可以復(fù)用的部分:

        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 — 一個(gè)小而簡(jiǎn)單的:chestnut:讓我們知道了Mixins對(duì)于封裝一些可復(fù)用的功能如此有趣、方便、實(shí)用。

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

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

        文檔

        在Vue.js中使用Mixins的方法

        在Vue.js中使用Mixins的方法:一個(gè)很常見(jiàn)的場(chǎng)景: 有兩個(gè)非常相似的組件, 它們擁有非常相似的基本功能, 但是它們之間又有足夠的不同的地方, 該如何選擇呢? 我們是應(yīng)該將它們分成兩個(gè)完全不同的組件呢? 還是創(chuàng)建一個(gè)基礎(chǔ)組件, 然后定義足夠多的props以方便區(qū)分使用場(chǎng)景?
        推薦度:
        標(biāo)簽: 如何 VUE 使用方法
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 91成人在线免费视频| 精品国产日韩亚洲一区在线 | 美女视频黄a视频全免费| 亚洲嫩模在线观看| 久久久精品午夜免费不卡| 亚洲Av永久无码精品三区在线 | 亚洲国产日韩在线人成下载| 一级毛片免费不卡在线| 亚洲丝袜美腿视频| 1000部国产成人免费视频| 亚洲大片免费观看| 四虎成人免费大片在线| 国产精品亚洲а∨无码播放麻豆| 四虎永久在线精品视频免费观看| 四虎影视久久久免费| 国产精一品亚洲二区在线播放| 久久九九全国免费| 亚洲日本乱码卡2卡3卡新区| 日本人的色道www免费一区| 免费很黄无遮挡的视频毛片| 亚洲精品色午夜无码专区日韩| 99久久精品免费精品国产| 精品亚洲AV无码一区二区三区| 国产成人aaa在线视频免费观看| 特级aaaaaaaaa毛片免费视频| 亚洲综合网站色欲色欲| 99久热只有精品视频免费看| 国产亚洲精品成人AA片| 亚洲国产精品13p| 免费播放一区二区三区| 亚洲人成网站在线观看播放动漫| 国产一区二区三区无码免费| 久久免费高清视频| 亚洲日本VA午夜在线电影| 亚洲精品国产自在久久 | 久草视频在线免费看| 成人亚洲国产va天堂| 亚洲精品无码不卡在线播放HE| 91免费人成网站在线观看18| 亚洲AV无码XXX麻豆艾秋| 亚洲av网址在线观看|