我在TypeScript中编写了一个笨拙的任务.我正在尝试翻译我在JavaScript中已有的东西.
因此,当grunt运行任务时,它会运行一个函数.当它运行时,grunt设置this
为具有有用属性的对象,就像jQuery this
使用您正在处理的元素重载一样.我可以访问有用的属性,如this.files
;
grunt.registerMultiTask('clean', function() {
this.files.forEach(function(f) { Delete(f); });
});
Run Code Online (Sandbox Code Playgroud)
所以,"删除所有文件this.files
".
但是,在TypeScript中,我不知道你是否可以"提示" this
某个特定类型的编译器,所以我没有得到intellisense.如何告诉TypeScript考虑this
使用其他类型?
Ale*_* L. 47
现在(从TS 2.0开始)你可以this
使用伪这个参数指定函数的类型(应该是第一个):
grunt.registerMultiTask('clean', function(this: SomeType) {
//...
});
Run Code Online (Sandbox Code Playgroud)
bas*_*rat 30
我如何告诉 TypeScript 将其视为不同的类型
你可以通过声明一个this
参数来做到这一点。对于您的用例,我添加了this: {files:any[]}
:
grunt.registerMultiTask('clean', function(this: {files:any[]}) {
this.files.forEach(function(f) { Delete(f); });
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11992 次 |
最近记录: |