Tapuscrit décorateur rapports “Impossible de résoudre la signature de la classe décorateur, lorsqu'il est appelé en tant qu'expression”

@xxx("xxx")
class A{
    msg:string
    constructor(msg:string) {
        this.msg = msg
    }
    print() {
        console.log(this.msg)
    }
}

function xxx(arg:string) {
    function f(target) {
        function ff(msg: string) {
            return new target(arg + ":" + msg)
        }
        return ff
    }
    return f
}

let a = new A("hellow")
a.print()

Lors de la compilation, il signale:

décorateur.ts(1,1): erreur TS1238: Impossible de résoudre la signature de la classe décorateur, lorsqu'il est appelé comme une expression.
Type '(msg: string) => tout' n'est pas cessible de type 'void'.

Mais le js généré bien exécuté. Je ne sais pas pourquoi le message d'erreur.

assurez-vous également que vous appelez @Input() avec la parenthèse () depuis sa fonction.
Comme de l'ACIER a suggéré,,, C'est généralement la raison pour laquelle vous obtenez une erreur.

OriginalL'auteur cloud | 2016-04-06