Методы и параметры функций не отображаются в "." ссылка
Обновление: См себя ответ ниже, который говорит, что это визуальная студия 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
Это делает этот вопрос более или менее неактуальным, поскольку он был первоначально сформулирован.