可能的错误

问题描述:

例如:可能的错误

let $div = $("div"); 
let $p = $("p"); 
$div.html($p); 

给出了这样的错误:

提供的参数不匹配,通话对象的任何签名。

编辑: 在普通的js/jquery这是工作。等效(最终结果)以下(仍在打字稿):

let $div = $("div"); 
let $p = $("p"); 
$div.html("").append($p); 

请问的JQuery.html()的打字稿定义是错误还是我什么地方搞错了?

签名,你正在寻找打字稿定义缺失(因为它未记录),但你可以手动添加:

interface JQuery{ 
    html(obj:JQuery): JQuery; 
} 
+2

我很好奇,如果jQuery有什么要说的有关使用JQuery.html () 这条路?也许它不被推荐,或者缺少打字稿定义的其他原因。 – mobal

+2

@mobal:你很好奇,[它是无证的](http://api.jquery.com/html/)。 (TIL!)'html'只能*记录*接受'string'和'function'(这大概是为什么这不在ts文件中)。它的工作原理(https://jsfiddle.net/vuop0e57/),据我所知它总是有效的,但它没有*记录*行为。 –

+0

@ T.J。 Crowder感谢解决了这个问题。 – mobal