小编dq-*_*lie的帖子

TypeScript:函数表达式的装饰器

我正在尝试向函数表达式添加函数装饰器。装饰器适用于函数声明,但不适用于函数表达式。

装饰师

function track(val: string) {

    return function(_target: any, _key: string, descriptor: any)  {

        const originalMethod = descriptor.value;

        descriptor.value = function(...args: any[]) {
           Logger.log(val);
           originalMethod.apply(this, args);
        };

        return descriptor;
    };
Run Code Online (Sandbox Code Playgroud)

我试图注释的函数表达式:如果我尝试像这样装饰,它将不起作用:

const handleClick = @track('trackMe') (e) => { console.log(e) };
Run Code Online (Sandbox Code Playgroud)

或这个:

@trackMetric('sdf')
const handleClick = (e) => { console.log(e) };
Run Code Online (Sandbox Code Playgroud)

我有experimentalDecorators上和目标标志ES5

decorator typescript

6
推荐指数
1
解决办法
3468
查看次数

VS Code 扩展:装饰上的点击事件

是否可以在装饰品上注册点击事件?

我正在像这样在排水沟上渲染一个图标。有没有办法在装订线上呈现的内容上获得点击事件?

const decoration = vscode.window.createTextEditorDecorationType({
    gutterIconPath: vscode.Uri.file('path/to/icon.svg'),
});

const editor = vscode.window.activeTextEditor;

editor.setDecorations(decoration, [new vscode.Range(
    new vscode.Position(1, 0),
    new vscode.Position(1, 0)
)]);
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-extensions

5
推荐指数
1
解决办法
604
查看次数