iLe*_*ing 11 signalr typescript
我已经开始使用typescript,很容易找到angular.js和jquery的声明(d.ts)文件.但是找不到SignalR jquery.
你们能帮助我吗?我可以创建一个界面,extends JQuery
但不知怎的,它不起作用......
var hub = $.connection.myHub
Run Code Online (Sandbox Code Playgroud)
它抱怨的connection
事情...说"属性'连接'不存在于'JQueryStatic'类型的值"
Geo*_*kis 16
DefinitelyTyped具有SignalR的完整TypeScript定义.
刚刚更新了链接,感谢Stuart
这是我能够以快速而肮脏的方式准备的.请注意它可能几乎不正确,但它现在对我来说足够了,它似乎按预期工作.
一开始可能是一件好事.让我们称之为"jquery.signalR-0.5.3.d.ts":
/// <reference path="jquery.d.ts" />
interface Hub {
id: string;
state: any;
start(options?: any, callback?: () => any): JQueryPromise;
}
interface SignalR {
log(msg: string, logging: bool): void;
isCrossDomain(url: string): bool;
changeState(connection: any, expectedState: number, newState: number): bool;
isDisconnecting(connection: any): bool;
hub: Hub;
connection: HubConnection;
init(url, qs, logging): void;
ajaxDataType: string;
logging: bool;
reconnectDelay: number;
state: any;
start(options?: any, callback?: () => any): JQueryPromise;
starting(callback?: () => any): SignalR;
send (data): SignalR;
sending (callback?: () => any): SignalR;
received (callback?: (data) => any): SignalR;
stateChanged (callback?: (data) => any): SignalR;
error (callback?: (data) => any): SignalR;
disconnected (callback?: () => any): SignalR;
reconnected (callback?: () => any): SignalR;
stop (async? : bool): SignalR;
}
interface HubConnection extends SignalR {
hub: Hub;
}
// extend JQuery interface
interface JQueryStatic {
signalR: SignalR;
connection: SignalR;
}
Run Code Online (Sandbox Code Playgroud)
那么你可能想为你的中心定义合同:
/// <reference path="./jquery.signalR-0.5.3.d.ts" />
interface IMyHub extends HubConnection {
// your methods definition here
}
// extend SignalR interface
interface SignalR {
myHub: IMyHub;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8853 次 |
最近记录: |