国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Next.js使用裝飾器decorator 解決[作為表達(dá)式調(diào)用時,無法解析類修飾器的簽名。]

這篇具有很好參考價值的文章主要介紹了Next.js使用裝飾器decorator 解決[作為表達(dá)式調(diào)用時,無法解析類修飾器的簽名。]。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Next.js 會自動檢測 jsconfig.json tsconfig.json 中的experimentalDecorators。
tsconfig.json

{
  "compilerOptions": {
   //...
    "experimentalDecorators": true
  }
}

然后重啟服務(wù) 否則裝飾器無法識別
不聲明的話vscode 執(zhí)行 ts檢測 也會報(bào)錯作為表達(dá)式調(diào)用時,無法解析類修飾器的簽名。

支持的四種裝飾器

declare type ClassDecorator = <TFunction extends Function>(target: TFunction) => TFunction | void;
declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void;
declare type MethodDecorator = <T>(target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void;

類裝飾器

function cameraDecorator<T extends { new (...args: any[]): {} }>(
    constructor: T
) {
    return class extends constructor {
        camera = ThreeHelper.instance.camera;
        cameraWrapper = ThreeHelper.instance.camera.parent;
    };
}

@cameraDecorator<typeof Asteroids>
class Asteroids {
    private camera!: THREE.PerspectiveCamera;
    private cameraWrapper!: THREE.Object3D;
}

也可以這樣寫 下方寫法可以將屬性寫在當(dāng)前class上

export function UnrealBloomEffect<T extends { new (...args: any[]): {} }>(
    constructor: T
) {
    return class extends constructor {
        name: string;
        constructor(...rest: any[]) {
            super(...rest);
            this.name = "deo";
        }
        render() {
            throw new Error("先執(zhí)行initEffect");
        }
	}
}

如果是寫在constructor.property上則可能寫到Object上污染object基類文章來源地址http://www.zghlxwxcb.cn/news/detail-631641.html

到了這里,關(guān)于Next.js使用裝飾器decorator 解決[作為表達(dá)式調(diào)用時,無法解析類修飾器的簽名。]的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Angular Decorator 裝飾器介紹

    裝飾器的作用就是在添加裝飾器的地方在不改動原有代碼的情況下增加額外的功能。Angular框架中裝飾器是一個函數(shù)。他將元數(shù)據(jù)添加到類、類成員(屬性、方法)和函數(shù)參數(shù)上。讓它們在不需要做任何代碼變動的前提下增加額外功能。 裝飾器是什么 它是一個表達(dá)式 該表達(dá)式被

    2024年02月16日
    瀏覽(18)
  • 【算法】使用棧解決一系列算法題(匹配、表達(dá)式、模擬)(C++)

    【算法】使用棧解決一系列算法題(匹配、表達(dá)式、模擬)(C++)

    棧適合解決需要 后進(jìn)先出(LIFO) 的結(jié)構(gòu)的算法題,例如: 括號匹配問題 :判斷給定字符串中括號是否匹配。 表達(dá)式求值問題 :將表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,并計(jì)算其值。 逆波蘭表達(dá)式問題 :將表達(dá)式轉(zhuǎn)換為逆波蘭表達(dá)式,并計(jì)算其值。 直方圖最大矩形面積問題 :給定

    2024年01月16日
    瀏覽(19)
  • 【設(shè)計(jì)模式】01-裝飾器模式Decorator

    【設(shè)計(jì)模式】01-裝飾器模式Decorator

    作用:在不修改對象外觀和功能的情況下添加或者刪除對象功能,即給一個對象 動態(tài)附加職能 裝飾器模式主要包含以下角色。 抽象構(gòu)件(Component)角色:定義一個抽象接口以規(guī)范準(zhǔn)備接收附加責(zé)任的對象。 具體構(gòu)件(ConcreteComponent)角色:實(shí)現(xiàn)抽象構(gòu)件,通過裝飾角色為其

    2024年02月22日
    瀏覽(15)
  • 使用正則表達(dá)式判斷日期字符串格式是否合法遇到的問題(解決)

    使用正則表達(dá)式判斷日期字符串格式是否合法遇到的問題(解決)

    我們在使用SpringMVC從前端接受傳遞過來的日期數(shù)據(jù)時,默認(rèn)傳遞過來的數(shù)據(jù)是String類型,如果我們從前端傳遞過來的數(shù)據(jù)格式是yyyy/MM/dd,SpringMVC有內(nèi)置類型轉(zhuǎn)化器會將String類型自動轉(zhuǎn)化成Date類型。但如果我們從前端傳遞過來的數(shù)據(jù)格式是yyyy-MM-dd,SpringMVC的內(nèi)置轉(zhuǎn)化器就不能

    2024年02月08日
    瀏覽(28)
  • quarkus依賴注入之八:裝飾器(Decorator)

    quarkus依賴注入之八:裝飾器(Decorator)

    這里分類和匯總了欣宸的全部原創(chuàng)(含配套源碼):https://github.com/zq2599/blog_demos 本篇是《quarkus依賴注入》系列的第八篇,目標(biāo)是掌握quarkus實(shí)現(xiàn)的一個CDI特性:裝飾器(Decorator) 提到裝飾器,熟悉設(shè)計(jì)模式的讀者應(yīng)該會想到裝飾器模式,個人覺得下面這幅圖很好的解釋了裝飾器

    2024年02月14日
    瀏覽(45)
  • js 正則表達(dá)式

    不允許漢字? state.rulesForm.username = value.replace(/[u4e00-u9fa5]/gi, \\\"\\\"); 只允許數(shù)字和字母 state.rulesForm.username = value.replace(/[^a-zA-Z0-9]+/g, \\\"\\\"); 只允許數(shù)字 state.rulesForm.qlmId = value.replace(/[^0-9]/g, \\\"\\\"); 只允許數(shù)字和字母和符號 this.form.username = this.form.username.replace(/[^a-zA-Z0-9@#$%^*()._+=?-,]+/g,

    2024年02月08日
    瀏覽(17)
  • js---三元表達(dá)式詳解

    三元表達(dá)式是JS中最為常用的快捷判斷語句之一。其語法形式為: 當(dāng)判斷條件成立時,返回結(jié)果1,否則返回結(jié)果2。這是JS中最為基本的三元表達(dá)式形式。 在實(shí)際應(yīng)用中,三元表達(dá)式可用于快速判斷三個條件,如下所示示例代碼: 以上代碼的意思是:當(dāng)成績大于90分時,返回

    2024年02月03日
    瀏覽(33)
  • js之正則表達(dá)式

    正則表達(dá)式是用于匹配字符串中字符組合的模式。在 JavaScript 中,正則表達(dá)式也是對象。這些模式被用于?RegExp?的?exec?和?test?方法,以及?String?的?match、matchAll、replace、search?和?split?方法。 靈活性、邏輯性和功能性非常的強(qiáng)。 可以迅速地用極簡單的方式達(dá)到字符串的

    2024年02月09日
    瀏覽(17)
  • JS -- 正則表達(dá)式教程

    ECMAScript 通過 RegExp 類型支持正則表達(dá)式。 上面兩種是等價的正則表達(dá)式 g: 執(zhí)行全局匹配(查找所有匹配,而非在找到第一個匹配后停止) i: 忽略大小寫 m: 多行匹配(第一行末尾結(jié)束后會在下一行連續(xù)匹配) 測試字符是否滿足正則表達(dá)式規(guī)則,返回 true / false 找到滿足正則

    2024年01月17日
    瀏覽(23)
  • 設(shè)計(jì)模式-6--裝飾者模式(Decorator Pattern)

    設(shè)計(jì)模式-6--裝飾者模式(Decorator Pattern)

    裝飾者模式(Decorator Pattern)是一種結(jié)構(gòu)型設(shè)計(jì)模式,它允許你在不修改現(xiàn)有對象的情況下,動態(tài)地將新功能附加到對象上。這種模式通過創(chuàng)建一個包裝類,即裝飾者,來包含原始對象,并在其上添加額外的行為或功能。這樣,你可以在運(yùn)行時選擇不同的裝飾者組合來實(shí)現(xiàn)不

    2024年02月10日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包