업데이트 : "참조 경로"솔루션이 필요하고 특정 솔루션을 제공하는 시각적 인 스튜디오 자바 스크립트 인텔리 센스 문제인 아래의 자체 응답을 참조하십시오. 원래의 질문은 잘못된 방향으로 이어졌다. 나는를 구축했습니다기능 메서드 및 매개 변수가 "."에 나타나지 않습니다. 참조
=========================== 아래
======= 원래의 질문 아래에 VS2013 MVC보기에서 여러 창에 대한 높이 및 너비 값을 저장하고 검색합니다. PaneDims
에는 pconfig
개의 배열 (pncnfgar
)이 포함되어 있습니다. 전역으로 사용할 수있는 객체로 PaneDims
을 사용하여 "."
표기법을 사용하는 메소드 및 매개 변수에 액세스 할 수 있습니다 (예 : PaneDims.getconfig
). 나는 PaneDims.getconfig
에서 채울 수있는 인스턴스화 할 수있는 객체로 pconfig
을 사용하고 "."
표기법을 사용하여 매개 변수에 액세스하고 싶습니다. 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
그것 때문에 모든 작품의 세부 사항을 생략 한 그것은 문제가 아니다. 내가 SetInitialPanelDims()
에 PaneDims를 호출 할 때 내가 다른 스크립트 파일에 다음 CreatePaneDimsClass
를 실행 한 후
문제는 다시
//================================
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
의 매개 변수 목록을 선택하고 싶습니다.
그래서 나는 이것이 가능하다고 (C#에서 너무 많은 intellisense를 먹었습니까?) 오해하고 있습니까? 아니면 내가 원하는 일을하기 위해 내가해야 할 일이 없습니까?
업데이트 : 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];
}
}
}
함수 프로토 타입에 필드를 넣어보십시오. – Musa
나는 당신의 코드를 시험해 보았다. 그리고 그것은 작동 중이다 ... –
코드의이 긴 블록과 긴 설명과 이것은 Intellisense 타이핑 완성 질문이 아닌 자바 스크립트 언어 질문이다. – jfriend00