Обновление: см. нижеприведенный ответ, в котором говорится, что это визуальная студия javascript intellisense, которая требует решения «эталонного пути» и предоставляет конкретное решение. Первоначальный вопрос ушел в неправильном направлении.Функциональные методы и параметры, не отображаемые в "." ссылка
======= оригинальный вопрос ниже ===========================
Я построил ниже, чтобы сохранить и получить значения высоты и ширины для разных панелей в представлении MV2 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#)? Или что-то не хватает, что мне нужно сделать, чтобы сделать то, что я хочу?
UPDATE: ссылка .
работает, если функция SetInitialPanelDims
находится в том же файле сценария, что и другой код, но нет, если он находится в файле сценария различия.
Итак, как я могу получить .
ссылку на работу, если функция PaneDims
вызывается в отдельном файле сценария?
ОБНОВЛЕНИЕ: Пробовал создавать PaneDims
с прототипом и экземпляром; отлично работает для обработки, но не решает написания кода Issue
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];
}
}
}
Попробуйте поместить поля в прототип функций. – Musa
Я пробовал ваш код, и он работает ... –
Итак, весь этот длинный блок кода и длительное объяснение, и это вопрос завершения ввода Intellisense, а не вопрос на языке JavaScript? – jfriend00