更具体地说,我正在使用JQGrid,并且在Definitely Typed仓库中没有类型文件,所以我创建了一个。这是定义文件。
/// <reference path="..\Imports\jquery-1.8.d.ts" />
interface JQuery {
jqGrid(options?: JQGrid.JQGrid_Options): JQuery;
fluidGrid(options: JQGrid.FluidGrid_Options): JQuery;
}
declare module JQGrid {
export interface JQGrid_ColModel {
...
}
export interface JQGrid_Options {
...
}
interface FluidGrid_Options {
...
}
}
'...'只是选项。
我收到“错误TS2094:代码行中'jq''类型的属性'jqGrid'不存在
$("#prospectsByReferrer").jqGrid(this.gridOptions);
和“错误TS2095:无法从代码
中找到符号'JQGrid'”private gridOptions: JQGrid.JQGrid_Options;
完整的代码是
/// <reference path="..\..\Scripts\Base\ViewModelBase.ts" />
/// <reference path="..\..\Scripts\Imports\JQGrid.d.ts" />
module Biz.Views {
export class ProspectsTab extends ViewModelBase{
private gridOptions: JQGrid.JQGrid_Options; <--error TS2095
private _businessId: number;
private _isInitialized: boolean = false;
constructor () {
this.gridOptions = {};
$("#prospectsByReferrer").jqGrid(this.gridOptions); <---error TS2094
}
我没有得到的是为什么TS在上面声明时看不到这种类型。我做得不对劲?我已经没有包含一些打字的想法了。谢谢你的时间。
顺便说一句,我正在使用2012年的Visual Studios而且intellisense并没有给我一个红色的波浪形。它只是我的控制台输出错误。
答案 0 :(得分:0)
我希望这是一个愚蠢的答案,但它总是发生在我身上..我也在使用VS和打字稿。
您是否忘记在HTML文档中包含JQGrid.js文件?
答案 1 :(得分:0)
当我的ts文件中有特殊字符时,TS编译器似乎翻了出来。我评论来自Word和Word的代码有奇怪的字符,他们自己格式化,如...
,-
等。删除这些奇怪的&#39;字符允许编译再次发生。