使用 Visual Studio 的 JavaScript IntelliSense 模拟转换

发布于 2024-11-26 03:10:36 字数 711 浏览 2 评论 0原文

我通过数组将 jQuery 对象从另一个文件传递到函数中,如下所示:

$(document).bind("loadStoreDisplayCallGoals", function(source, urlParams)
{
    var selectedStoreDocument = urlParams["storeDocument"];
}

selectedStoreDocument 应该是一个 jQuery 对象,但是 Visual Studio Intellisense 永远不会识别它。我尝试使用 $.extend 添加扩展 selectedStoreDocument

// cast selectedStoreDocument to a jQuery type
$.extend(selectedStoreDocument, $);

但是,扩展 selectedStoreDocument 消除了我所有的 jQuery 方法(.each代码>、<代码>.find等)。

如何让 selectedStoreDocument 在 IntelliSense 中显示为 jQuery 对象?请注意,我正在 Visual Studio 2010 中工作。

I am passing in a jQuery object into a function from another file via an array like the following:

$(document).bind("loadStoreDisplayCallGoals", function(source, urlParams)
{
    var selectedStoreDocument = urlParams["storeDocument"];
}

selectedStoreDocument should be a jQuery object, however Visual Studio Intellisense will never recognize it as such. I tried adding extending selectedStoreDocument with $.extend:

// cast selectedStoreDocument to a jQuery type
$.extend(selectedStoreDocument, $);

However, extending selectedStoreDocument wiped out all of my jQuery methods (.each, .find, etc.).

How can I get selectedStoreDocument to appear as a jQuery object in IntelliSense? Note that I am working in Visual Studio 2010.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

咿呀咿呀哟 2024-12-03 03:10:36

我为实用函数创建了一个单独的文件,并为实用函数 + VSDoc 创建了第二个文件。

utility.js:

function castToJQuery(item)
{
    return item;
}

utilities-vsdoc.js:

function castToJQuery(item)
{
    /// <summary>
    ///     1: $(item) - "Casts" the specified item to a jQuery object for the sake of Intellisense
    /// </summary>
    /// <returns type="jQuery" />
    return $("dummy");
}

现在我可以在任何下游文件中调用castToJQuery,以使 Visual Studio 认为动态属性是 jQuery 对象。

var selectedStoreDocument = castToJQuery(urlParams["storeDocument"]);
selectedStoreDocument.find("products");

Visual Studio 现在可以与 Intellisense 配合使用我的动态 urlParams["storeDocument"]。

I created a separate file for utility functions, and a second file for the utility functions + VSDoc.

utilities.js:

function castToJQuery(item)
{
    return item;
}

utilities-vsdoc.js:

function castToJQuery(item)
{
    /// <summary>
    ///     1: $(item) - "Casts" the specified item to a jQuery object for the sake of Intellisense
    /// </summary>
    /// <returns type="jQuery" />
    return $("dummy");
}

Now I can call castToJQuery in any of my downstream files to make Visual Studio think a dynamic property is a jQuery object.

var selectedStoreDocument = castToJQuery(urlParams["storeDocument"]);
selectedStoreDocument.find("products");

Visual Studio now works with Intellisense for my dynamic urlParams["storeDocument"].

执笔绘流年 2024-12-03 03:10:36

您无法获得动态添加的属性的智能感知。您需要静态定义它们(在 vsdoc 或 js 文件中):

$.selectedStoreDocument = function() {
     ///<summary>A Selected Store Document</summary>
};

You cannot get intellisense for dynamically added properties. You need to define them statically (in a vsdoc or js file):

$.selectedStoreDocument = function() {
     ///<summary>A Selected Store Document</summary>
};
一念一轮回 2024-12-03 03:10:36

您可以为变量指定文档信息,如下所示:

$(document).bind("loadStoreDisplayCallGoals", function(source, urlParams)
{
    /// <var type="jQuery"/>
    var selectedStoreDocument = urlParams["storeDocument"];
    selectedStoreDocument._
}

有关详细信息,请参阅 http://msdn.microsoft.com/EN-US/library/hh542722(VS.110).aspx

You can specify documentation information for a variable like this:

$(document).bind("loadStoreDisplayCallGoals", function(source, urlParams)
{
    /// <var type="jQuery"/>
    var selectedStoreDocument = urlParams["storeDocument"];
    selectedStoreDocument._
}

For more information see http://msdn.microsoft.com/EN-US/library/hh542722(VS.110).aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文