問題タブ [module-pattern]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1905 参照

javascript - JavaScript モジュール パターン / 編成 / サブモジュール

  1. 以下のパターンの違い(メリット・デメリット)を教えていただきたいです。
  2. モジュールパターンに基づいてサブモジュールを作成するにはどうすればよいですか?

私の目標は、私のjsを複数のファイルに整理して、遅延ロードされますが名前空間が 1 つになるようにすることです。

例えば:

SO.global (global.js) SO.global.registration (registration.js) <- 読み込み

対。

0 投票する
1 に答える
13554 参照

javascript - JS モジュール パターンの仕組みを理解する

jQuery で使用される js モジュール パターンを理解しようとしています。私はこれを数回編集しましたが、最終的に私のスキル レベル (jquery で数か月) の良い練習になるようにします。

この投稿には直接的な質問はありません。私は、大規模な Web サイトでモジュール パターンを (jquery と一緒に) 適切に使用する方法についてのフィードバックと入力を目指しています。

更新:すべての書き方の概要を把握し、落とし穴をカバーするために、たくさんの例を追加しました..

何が起こっているのかを理解しようとしています (修正やより良い説明を自由に提供してください):

ここで名前空間 Company.AppName が作成されます。内部に ($) を設定して、$ を使用する可能性のある他のライブラリと競合することなく $ を使用できるようにします。

私の知る限り、メソッドと変数はここの名前空間に返されます ...})(); () 内に jQuery を追加することで、$ が jQuery を意味することがわかります。

初期化中

ここで何がベストプラクティスなのかはわかりませんが、これまでに知っていることを追加します。

js ファイル内での初期化:

ファイルからの初期化:

0 投票する
2 に答える
2252 参照

javascript - javascriptモジュールパターンを使用しているときに、プライベートメソッド内からパブリックメソッドを呼び出すにはどうすればよいですか?

プライベートメソッドからパブリックメソッドを呼び出したいのですが、プロパティ「this」はウィンドウオブジェクトを参照しています。

モジュールパターンを適用しようとしていることに注意してください。jsfiddle.netで実用的なコード例を見つけることができます

0 投票する
3 に答える
3280 参照

javascript - JavaScriptで同じ名前とスコープを持つ2つの変数を宣言するとどうなりますか?

同じ名前とスコープを持つ2つの変数を宣言するとどうなりますか?

Webサイトに小さなポートレットを動的にロードしていて、各ポートレットにはJavaScriptモジュールを備えた独自のスクリプトタグがあるため、質問しています。問題は、ユーザーがポートレットを複製できることです。これは、上記のようなことが起こる可能性が高いことを意味します。

0 投票する
3 に答える
353 参照

javascript - モジュールパターンでjQueryオブジェクトにアクセスする

本当にjavascriptに入り、いくつかのパターンを見回しています。私が出くわしたのはモジュールパターンです。それは機能のチャックを考える良い方法のように思われるので、私は先に進んでそれをjQueryで実装しようとしました。しかし、私は引っ掛かりに出くわしました。次のコードを検討してください

上記のコードは、divのhtmlコンテンツにアラートを送信してから、クラスを追加します。これらは両方ともjQueryメソッドを使用します。問題は、.html()メソッドが正常に機能することですが、クラスを追加できません。エラーは発生せず、クラスは追加されません。ここで何が起きてるの?クラスがdivに追加されないのはなぜですか?

0 投票する
1 に答える
619 参照

javascript - Javascript モジュール パターンと Jquery はライブですか?

JavaScript モジュール パターンを使用しようとしていますが、回避方法がわからないという問題に遭遇しました。

コードを分離して読みやすくしたいので、2 つのスクリプト ファイルがあります。

したがって、 createSubmitFrmHandler が定義されていることを確認して、私がやっていることを続ける方法がわかりません。

編集

私は最終的にこのようなことをしました

私が確信していない唯一のことは、この関数を何度も呼び出すと、このオブジェクトを作成し続けるのか、それともライブが既にバインドされていて、それ以上バインドしないことを確認するのかということです。

0 投票する
1 に答える
1163 参照

javascript - javascriptモジュールパターンをajaxで動作させる方法は?

私はいくつかのjavascript/jqueryコードをajaxタブを処理できるように変換しようとしています。

ページが読み込まれるときにすべてのスクリプトが読み込まれ、jqueryliveおよびlivequeryプラグインを使用してバインディングを支援します。

毎回部分ビュー(asp.net mvc 3)にあり、クリックするとコントローラーアクションに移動し、部分ビューをレンダリングしてタブに貼り付けます。

したがって、liveとlivequeryは、この1つの問題を除いてほとんどの問題を解決しています。私はjquerydatatables.netプラグインを使用しており、それがレンダリングされたら、それを変数に格納して配置します。

モジュールパターンを使用しているので、テーブルがレンダリングされるずっと前にコードが実行されます。したがって、オブジェクトを格納する変数は「未定義」です。jquery livequeryステートメントでラップアラウンドしようとしましたが、テーブルは実行されますが、変数はまだ「未定義」です。

私の推測では、C#は参照を更新するのとは異なります。したがって、それは私のグローバル変数(モジュールパターン用のもの)にあり、更新されることはないと考えています。

私はoDataTableをかなり使用しています。myTable.Deleteを呼び出すかどうかを確認できるように、そこでoDataTableを使用しますが、「未定義」でクラッシュします。

シーケンス全体を開始する別のモジュールクラスがあります(したがって、上記のコードを実行します)

0 投票する
1 に答える
309 参照

javascript - モジュールパターンを明らかにするJavaScriptの別のメソッドからメソッドへの複数の呼び出しを返す

現在のプロジェクトの明らかにモジュール パターンを試しています。

変数を設定し、モジュールが適切なイベント ハンドラーによって呼び出されたときにモジュールが正しく機能するために必要なメソッドを呼び出すいくつかのメソッドの先頭に init メソッドがあります

現在、次のようなinitメソッドがあります。

したがって、これは appendTip メソッドへの呼び出しを返します。

別のモジュールでは、セットアップは次のようになります。

そのため、個々のメソッドへの呼び出しが 2 つあります。このコードは問題なく動作しますが、もっとうまくできるのではないかと思いませんか?

これらの両方を返すにはどうすればよいですか?それらを返すのが最善の方法ですか?

ありがとう。

0 投票する
2 に答える
1656 参照

javascript - Module-Singleton JavaScript をサポート インスタンスに移行するにはどうすればよいですか?

私はアプリケーションを作成してきましたが、さまざまな機能をいわゆる「モジュール」パターンに分割することに多くの成功を収めてきました。ここでは、パブリック メンバーとプライベート メンバーを持つ自己実行シングルトンがあります。

複数のインスタンスを作成できるようにしたいいくつかのモジュールがある場合に遭遇しました。

このパターンがシングルトンに基づいていることは知っていますが、このパターンを変更してそれらのインスタンスの作成をサポートする簡単な方法があったのだろうか?

0 投票する
2 に答える
2395 参照

javascript - モジュールパターンの Javascript プロジェクトを専門的に構成するにはどうすればよいですか?

Revealing Module Patternについて読んだことがありますが、とても気に入っています。しかし、「マスター オブジェクト」に数十のサブオブジェクトと、おそらく数百の関数がある大規模なプロジェクトはどうでしょうか。そのすべてのコードを 1 つの無名関数クロージャに配置するのは、私ではしたくありません。

では、大規模なモジュール パターン プロジェクトはどのように管理されるのでしょうか。