2014-01-26 1 views
0

Обновление: см. нижеприведенный ответ, в котором говорится, что это визуальная студия 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]; 
     } 
    } 
} 
+0

Попробуйте поместить поля в прототип функций. – Musa

+0

Я пробовал ваш код, и он работает ... –

+0

Итак, весь этот длинный блок кода и длительное объяснение, и это вопрос завершения ввода Intellisense, а не вопрос на языке JavaScript? – jfriend00

ответ

0

Это кажется Visual Studio Javascript IntelliSense проблема, которая требует решения «ссылка путь». То есть, чтобы добавить строку комментария, как это (ТРИ слэшей):

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

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

Здесь была запущенная подсказка.

Javascript and VS2012 Intellisense

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

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

How to reference multiple files for javascript IntelliSense in 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/

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

Смежные вопросы