我正在尝试在WebStorm中使用TypeScript进行智能感知。


在我的测试中,我试图将其用于Knockout。


我添加了类型定义文件和其他必要的文件,将引用标记添加到我的.ts文件的顶部。


以下是我的设置的屏幕截图:

& #xA;


当我输入'ko'时。我可以滚动列表并找到可观察的但除此之外我没有其他的智能感知。


我的设置有问题吗?在输入'ko.observable'后打开一个paren时,我错了预期超载吗?


如果我更改了行


 声明var ko:KnockoutState



 to


 声明var ko:KnockoutObservable< string&gt ;;



 我收到错误





'错误:(3,13)TS2403:后续变量声明必须具有
相同的类型。变量'ko'必须是'KnockoutStatic'类型,但这里
类型'KnockoutObservable'。


(更新)注意:我提到上述错误只是为了表明它似乎确实在阅读Knockout的类型定义。当我把它留在KnockoutStatic或完全删除类型时,我仍然没有得到任何智能感知。

答案 0 :(得分:0)
当我输入' ko。'我可以滚动列表并找到可观察的,但除此之外我没有其他的智能感知。
您需要在代码中使用它才能获得智能感知。我可以看到你尝试过:
declare var ko : KnockoutObservable<string>;
无效用法......因此您收到错误TS2403
。
正确使用ko
:
var myObservableArray = ko.observableArray<any>(); // intellisense on `ko.`
myObservableArray.push('Some value'); // intellisense on `.p`
var anotherObservableArray = ko.observableArray([
{ name: "Bungle", type: "Bear" },
{ name: "George", type: "Hippo" },
{ name: "Zippy", type: "Unknown" }
]);