首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SignalR类型SignalR声明文件

SignalR类型SignalR声明文件
EN

Stack Overflow用户
提问于 2012-11-10 02:46:44
回答 5查看 9.7K关注 0票数 12

我已经开始在angular.js和jquery中使用typescript,easily声明(d.ts)文件。

你们能帮帮我吗。我可以创建一个extends JQuery的接口,但不知何故它无法工作……

代码语言:javascript
复制
var hub = $.connection.myHub

它在抱怨connection的事情...表示“类型为‘JQueryStatic’的值上不存在属性'connection‘”

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-11-13 17:44:53

DefinitelyTyped对SignalR有一个完整的TypeScript定义。

刚刚更新了链接,谢谢斯图尔特

票数 16
EN

Stack Overflow用户

发布于 2012-11-10 06:44:02

这就是我能够以一种快速而肮脏的方式准备的东西。请注意,它可能几乎不正确,但现在对我来说已经足够了,而且它似乎可以按预期工作。

这可能是一件很好的事情。让我们称之为"jquery.signalR-0.5.3.d.ts":

代码语言:javascript
复制
/// <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;
}

然后,您可能需要为您的集线器定义约定:

代码语言:javascript
复制
/// <reference path="./jquery.signalR-0.5.3.d.ts" />

interface IMyHub extends HubConnection {
    // your methods definition here
}

// extend SignalR interface
interface SignalR {
    myHub: IMyHub;
}
票数 8
EN

Stack Overflow用户

发布于 2013-11-13 14:12:21

自插头

我已经创建了一个工具来为您的集线器、方法和您在客户端和服务器之间传递的类型生成TypeScript声明文件。它还包括最新的DefinitelyTyped signalr.d.ts文件。我以nuget包的形式发布了一个alpha版本: SignalR.TypeScript。要安装此程序包,请在程序包管理器控制台中运行以下命令:

代码语言:javascript
复制
Install-Package SignalR.TypeScript -Pre 

更多信息和方法,请访问我的博客:http://murat.girg.in/2013/11/introducing-signalr-typescript/

/自插

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13314083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档