我正在使用带有jqGrid和jQuery的Typescript。
在以下行中:
jQuery(this).jqGrid('editGridRow', rowid, {
...
我收到消息:
属性'jqGrid'在'JQuery'类型的值上不存在。
有关如何纠正此问题的任何想法?
答案 0 :(得分:14)
我想您使用 jquery.TypeScript.DefinetlyTyped NuGet包。
在这种情况下,添加文件〜/ Scripts / typings / custom.d.ts ,内容如下:
/// <reference path="jquery/jquery.d.ts"/>
interface JQuery { jqGrid: any; }
<强>更新强> 以上解决方案是通用的,适用于所有情况。更好的解决方案是......
安装 jqgrid.TypeScript.DefinitelyTyped NuGet包。
答案 1 :(得分:3)
问题是JQuery网格是一个插件。看起来你有一个JQuery库的定义文件,但没有JQuery Grid插件的定义文件。我检查了https://github.com/borisyankov/DefinitelyTyped并且似乎没有针对此特定插件的类型定义。你可以做一些事情。
var localJq:any = jQuery(this); localJq.jqGrid('editGridRow',rowid,{...});
这将欺骗编译器并允许您访问var中未在定义文件中定义的属性。