我在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 次 |
| 最近记录: |