其他人写了扩展名。它使用如下语法表示ajax进度事件:
$.ajax(url)
.progress(function(e) {
// tracking downloading
})
.uploadProgress(function(e) {
// tracking uploading
// if (e.lengthComputable) {
// var percentage = Math.round((e.loaded * 100) / e.total);
// console.log(percentage);
//}
});
TypeScript抱怨这些新方法不存在。
在我看来,我需要以某种方式将它们添加到JQueryXHR
,这是在DefinitelyTyped的jquery.d.ts中定义的。这是第三方库,我不想编辑它 - 这会干扰更新。
如何将方法添加到已在我不想编辑的文件中定义的TypeScript接口?
答案 0 :(得分:0)
如何将方法添加到已在我不想编辑的文件中定义的TypeScript接口
TypeScript接口是开放式的,旨在适应这种情况。
只需创建一个.disabled{
cursor: not-allowed;
opacity: 0.8 /* ? it's up to you how you want to style it*/
}
:
thelib.d.ts
https://basarat.gitbooks.io/typescript/content/docs/types/ambient/interfaces.html
给出的答案解决了所提出的问题,并且具有简单的优点。但在现场你需要做得更好。这是更强大的打字。如果你想要“流利”,这很重要,例如.then()。fail()。done()等。
interface JQueryXHR {
progress: any;
uploadProgress: any;
}
您不需要三斜杠引用。大概是因为JQueryPromise是JQueryXHR主要定义的范围。