2012-11-27 20 views
3
在编译时位于打字稿文件下面的代码我有一个错误

jQuery函数编译错误与打字稿

parent.$(mySelector) 

在这里,我有上谁是$符号错误未知的打字稿编译器。 Jquery通过定义文件被引用。我能做些什么来仍然能够使用这种编写我的代码的方法?

我有适当的错误是:

The property '$' does not exist on value of type 'Window' 

回答

1

您需要定义$变量窗口对象,因为JQuery的定义文件没有做到这一点:

interface JQueryWindow extends Window { 
    $: JQueryStatic; 
} 

和您使用Window对象将其投射到JQueryWindow

(<JQueryWindow>parent).$(selector); 
+0

此外,我得到另一个错误: ( parent)。$(“”)。load(function(url,data,complete){}); - >提供的参数与调用目标的任何签名不匹配 ( parent)。$(“”)。each(function(index,elem){return this;}); - >好吧 – smartgoblin83

+0

我认为问题是与负载调用。根据加载签名:load(url:string,data ?: any,complete ?: any):JQuery;所以你的调用应该是:( parent)。$(“”)。load(url,data,complete);其中url是要调用的url,data是要发送的可选数据,callback是应在操作完成时调用的回调函数 – Slawek