Методы и параметры функций не отображаются в "." ссылка

Обновление: См себя ответ ниже, который говорит, что это визуальная студия Ja vascript IntelliSense проблема, которая требует решения "ссылка путь", а также обеспечивает конкретное решение. Первоначальный вопрос ушел в неправильном направлении.

======= оригинальный вопрос ниже ===========================

Я построил ниже, чтобы хранить и получать значения высоты и ширины для разных панелей в виде MVC VS2013. PaneDims содержит массив (pncnfgar) из pconfig объекты. Я хотел бы использовать PaneDims как глобально доступный объект, который я могу получить доступ к методам и параметрам использования "." нотация, например PaneDims.getconfig, Я хотел бы использовать pconfig как инстанцируемый объект, который я могу заполнить из PaneDims.getconfig а затем также получить доступ к параметрам использования "." нотация, например. wrk_pconfig.id,

//=========================

var pconfig = function () {
this.id = ""
this.mh = 0
this.mw = 0
this.lh = 0
this.lw = 0
this.dh = 0
this.dw = 0
}
//========================================
var PaneDims = new function () {
this.currPaneConfig = "";
this.pcnfgar = [];
this.getconfig = function (id) {
    for (i = 0; i < this.pcnfgar.length; i++) {
        if (this.pcnfgar[i].id === id) {
            return this.pcnfgar[i];
        }
    }
}
}
//===================================
function TestPaneDims() {
CreatePaneDimsClass()
SetInitialPanelDims()
}
//====================================
function CreatePaneDimsClass() {
//var PaneDims = new PaneDims;
LoadPanelConfigs();
}
//===========================================

Я опустил детали LoadPanelConfigs потому что все работает, и это не проблема.

Проблема после того, как я бегу CreatePaneDimsClassзатем в другом файле сценария, когда я пытаюсь вызвать PaneDims в SetInitialPanelDims(),

//================================
function SetInitialPanelDims() {

    PaneDims.currPaneConfig = "dh1w1"
    wrkpc = new pconfig
    wrkpc = PaneDims.getconfig(PaneDims.currPaneConfig)

    b = wrkpc.id
    d = wrkpc.mh
    d = wrkpc.mw
}
//===============================

Опять же, все это работает с точки зрения обработки.

Проблема в том, что когда я пишу код "." значения не отображаются. например я печатаю

b = wrkpc.

и я хотел бы увидеть список pconfig параметры появляются, чтобы выбрать из.

Итак, я ошибаюсь, что это возможно (ели слишком много intellisense в C#)? Или мне чего-то не хватает, чтобы добиться желаемого?

ОБНОВЛЕНИЕ: . ссылка работает, если SetInitialPanelDims Функция находится в том же файле сценария, что и другой код, но не в том случае, если она находится в файле сценария разницы.

Итак, как я могу получить . ссылка на работу, если PaneDims функция вызывается в отдельном файле скрипта?

ОБНОВЛЕНИЕ: Попытка создания PaneDims с прототипом и экземпляром; отлично работает для обработки, но не решает проблему написания кода

function pPaneDims() { }
pPaneDims.prototype.pcnfgar = [];
pPaneDims.prototype.currPaneConfig;
pPaneDims.prototype.getconfig = function (id) {
    for (i = 0; i < this.pcnfgar.length; i++) {
        if (this.pcnfgar[i].id === id) {
            return this.pcnfgar[i];
        }
    }
}

1 ответ

Решение

Похоже, что это проблема intellisense javascript для Visual Studio, которая требует решения "ссылочного пути". То есть добавить строку комментария следующим образом (три косых черты):

/// <reference path="~/Scripts/020_DRAFT/MyScript.js" />

в верхней части JS-файлов, которые вы хотите иметь intellisense доступ к вещам в MyScript.js.

Ключ к запуску был здесь.

Javascript и VS2012 Intellisense

Я не понимал, что подразумевалось под "перетаскиванием одного файла JavaScript в другой", но просто написание ссылочного оператора работало нормально.

Напоминает мне "использование" оператора в C#.

Как ссылаться на несколько файлов для JavaScript IntelliSense в VS2010

http://msdn.microsoft.com/en-us/library/bb385682.aspx

http://gurustop.net/blog/2012/03/03/javascript-js-intellisense-auto_complete-in-visual-studio-11-beta-the-web-_references-js-file/

Это делает этот вопрос более или менее неактуальным, поскольку он был первоначально сформулирован.

Другие вопросы по тегам