成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

Decorators(修飾器)

1treeS / 2040人閱讀

摘要:修飾器是一個(gè)函數(shù),用來(lái)修改類(lèi)的行為。裝飾對(duì)象可以使用多個(gè)裝飾器裝飾器可以帶參數(shù)裝飾器修飾類(lèi)實(shí)例方法師徒相當(dāng)于一個(gè)修飾器需要先安裝一個(gè)插件然后在項(xiàng)目根目錄下,找到修改為在文件里引用師徒大廣靈啦啦啦師徒廣靈縣在啦啦啦師徒

修飾器(Decorator)是一個(gè)函數(shù),用來(lái)修改類(lèi)的行為。 裝飾對(duì)象可以使用多個(gè)裝飾器 裝飾器可以帶參數(shù) 裝飾器 修飾類(lèi) 實(shí)例方法
"use strict"

function school(){
        console.log("師徒");
    }

    @school
    class Student{
        constructor(name){
            this.name=name
        }
        study(){
            console.log(this.name+" is studying");
        }
    }
@school相當(dāng)于一個(gè)修飾器
需要先安裝一個(gè)插件:

npm install babel-plugin-transform-decorators-legacy --save-dev

然后在項(xiàng)目根目錄下,找到:

.babelrc=>修改為"plugins": ["transform-decorators-legacy"]

在html文件里引用:

function school(target){
    target.schoolName="師徒";
    }
    function hometown(diq){
        return function(target){
            target.home=diq;
        }
    }
    function studyke(kemu){
        return function(target){
            target.ke=kemu;
        }
    }
    
    @hometown("大廣靈")
    @school
    
    class Student {
        constructor(name){
            this.name=name;
        }
        @studyke("jquery")
        study(){
            console.log(this.name+"啦啦啦"+this.ke);
        }
    }
    console.log(Student.schoolName);//師徒.
    console.log(Student.home);//廣靈縣.
    
    let l = new Student("ss");
    l.study();//ss在啦啦啦jquery.
    
    @school
    class Teacher {
        
    }
    console.log(Teacher.schoolName);//師徒.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84171.html

相關(guān)文章

  • ES7 Decorators修飾

    ES6 Decorators(修飾器) 修飾器(Decorator)是一個(gè)函數(shù),用來(lái)修改類(lèi)的行為。這是ES7的一個(gè)提案,目前Babel轉(zhuǎn)碼器已經(jīng)支持 我們?cè)谟螒虼笮晚?xiàng)目種經(jīng)常會(huì)用到的方法,現(xiàn)在es6直接支持 想要使用Decorator的話需要我們配置一下文件夾,配置一下環(huán)境 npm install babel-plugin-transform-decorators-legacy --save-de...

    張漢慶 評(píng)論0 收藏0
  • 裝飾與元數(shù)據(jù)反射(1)方法裝飾

    摘要:使用裝飾器的方法很簡(jiǎn)單在裝飾器名前加字符,寫(xiě)在想要裝飾的方法上,類(lèi)似寫(xiě)注釋的方式裝飾器實(shí)際上是一個(gè)函數(shù),入?yún)樗b飾的方法,返回值為裝飾后的方法。經(jīng)過(guò)裝飾過(guò)的方法,它依然按照原來(lái)的方式執(zhí)行,只是額外執(zhí)行了附件的裝飾器函數(shù)的功能。 讓我來(lái)深入地了解一下TypeScript對(duì)于裝飾器模式的實(shí)現(xiàn),以及反射與依賴(lài)注入等相關(guān)特性。 在Typescript的源代碼中,可以看到裝飾器能用來(lái)修飾cla...

    xiaochao 評(píng)論0 收藏0
  • 聊聊Typescript中的設(shè)計(jì)模式——裝飾篇(decorators)

    摘要:本文從裝飾模式出發(fā),聊聊中的裝飾器和注解。該函數(shù)的函數(shù)名。不提供元數(shù)據(jù)的支持。中的元數(shù)據(jù)操作可以通過(guò)包來(lái)實(shí)現(xiàn)對(duì)于元數(shù)據(jù)的操作。 ??隨著Typescript的普及,在KOA2和nestjs等nodejs框架中經(jīng)常看到類(lèi)似于java spring中注解的寫(xiě)法。本文從裝飾模式出發(fā),聊聊Typescipt中的裝飾器和注解。 什么是裝飾者模式 Typescript中的裝飾器 Typescr...

    yiliang 評(píng)論0 收藏0
  • create-react-app mobx 不支持 修飾

    摘要:返編譯全部重新安裝依賴(lài)安裝該模塊中間可能有告警自行消除即可在里修改如下所示就可以了 1.npm run eject (返編譯)2.npm i (全部重新安裝依賴(lài))3.npm install --save-dev babel-plugin-transform-decorators-legacy (安裝該模塊中間可能有告警自行消除即可)4.npm install @babel/plugin...

    Vultr 評(píng)論0 收藏0
  • 從裝飾模式到裝飾

    摘要:從裝飾模式到裝飾器裝飾模式裝飾模式的作用是在不修改原有的接口的情況下,讓類(lèi)表現(xiàn)的更好。它是一個(gè)語(yǔ)法糖說(shuō)完了裝飾模式,我們?cè)倏匆幌略谥凶钚乱氲难b飾器。 從裝飾模式到裝飾器 裝飾模式 裝飾模式的作用是:在不修改原有的接口的情況下,讓類(lèi)表現(xiàn)的更好。 什么叫更好? 為什么需要裝飾模式 自然是繼承有一些問(wèn)題繼承會(huì)導(dǎo)致超類(lèi)和子類(lèi)之間存在強(qiáng)耦合性,當(dāng)超類(lèi)改變時(shí),子類(lèi)也會(huì)隨之改變; 超類(lèi)的內(nèi)...

    monw3c 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<