更新:以下の自己回答を参照してください。これは、「参照パス」ソリューションを必要とするビジュアル スタジオの JavaScript インテリセンスの問題であり、特定のソリューションを提供します。元の質問は間違った方向に進みました。
=======以下の元の質問===========================
VS2013 MVC ビューのさまざまなペインの高さと幅の値を保存および取得するために、以下を作成しました。 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
そして、選択するパラメータのリストが表示されることを望みます。
それで、これが可能であると誤解していますか(C#でインテリセンスを食べすぎています)?それとも、私が望むことを実現するために必要な何かが欠けていますか?
UPDATE:関数が他のコードと同じスクリプトファイルにある .
場合、参照は機能しますが、異なるスクリプトファイルにある場合は機能しません。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];
}
}
}