2

これは本当に私をイライラさせています。ライブラリを使用せずにカスタム JavaScript アプリを構築しようとしています。これは主に、より良いコア JavaScript と JavaScript パターンを学ぶためのものです。私は MVC 構造を実装しようとしており、パーツを個別に理解していますが、私の人生では、ビューとコントローラーを接続する方法がわかりません。たとえば、次のコードがある場合:

<div>
    <button id="button1">Click Me</button>
    <button id="button2">Click Me</button>
    <button id="button3">Click Me</button>
</div>

各ボタンのクリックをリッスンして応答するように controller.js ファイルを作成するにはどうすればよいでしょうか。特に、各ボタンが他のボタンとはまったく異なることを行う場合. button1 は単に google.com にリンクし、button2 はモーダル ボックスを開き、button3 はデータベース テーブルを更新するとします。そのため、それぞれがまったく別のことを行っています。私が避けようとしているのは、jQuery を使用してこのようなことを行うことです。

$('#button1').click(function(){
       //go to google.com
});

$('#button2').click(function(){
       //open modal box
});

$('#button3').click(function(){
       //update database
});

特に MVC 構造を使用しようとする場合、これはあまり効率的ではないようです。これを書くために従うことができるいくつかの異なるデザインパターンでさえ、よりスムーズな方法はありますかこれはライブラリのないコア JavaScript ですか? 私は記事を見つけるためにネットを精査しましたが、見つけたものはすべてライブラリに大きく依存しています。

このようなことを明確に説明する本、チュートリアル、ブログ投稿、または同様のものは大歓迎です。こつをつかめたら、大衆向けに本を書くかもしれません。

繰り返しますが、コミュニティの助けは常に高く評価されています。

4

2 に答える 2

2

MVC デザイン パターンに従って、Javascript でアプリケーションを作成しています。js で既存のデザイン パターンを適応させる必要があるため、コア JavaScript を理解することをお勧めします :)

最初に DOM を再帰的に解析し、各タグを取得してから、ボタン ID をパラメーターとして click_event ジェネリック (およびグローバル) 関数を呼び出す単純なクリック イベント コードを関連付けて、ボタンを識別する単一のエントリ ポイントを作成します。 .

次に、この一般的なメソッド (イベント エントリ ポイント) は、アクションに適したコントローラーを選択して起動する必要があります。

objectId または参照とイベント タイプの 2 つのパラメーターを使用して、さらに一歩進めることもできます。これは、イベントを起動する多くの基本的な GUI に見られるものと非常によく似ています。

于 2012-08-28T18:56:52.360 に答える
-1

「MVC JavaScript アプリ」という概念がよくわかりません。JS は Web アプリケーションの V の一部にすぎません。

コードを複数のブラウザーで実行したい場合は、jQuery が最適です。

ただし、ライブラリを使用できず、シンプルでスリムな純粋な js コア コードを記述しなければならない有効なケースがあることは認めます。また、プログラミング言語のコアを知ってから、その言語のライブラリ/フレームワークを学習することもお勧めします。

さて、あなたが js についてどれだけ知っているかはわかりません。私はいつも w3schools のチュートリアルが好きでした。そこでは本当に基礎を学ぶことができます。js の場合はこちら: http://www.w3schools.com/js/default.asp

そこからすべてを知っていて、目標が js のより高度なスキルを習得することである場合は、もう少し掘り下げる必要があります。

http://ejohn.org/apps/learn/ - js について知っておくべきいくつかのこと (オブジェクト、プロトタイプの継承、宣言ホイストの概念など) を含む素晴らしいチュートリアルです。

http://www.javascriptkit.com/javatutors/ - 実際の状況に関する非常に実用的なチュートリアルと優れたソリューション

http://code.google.com/p/jslibs/wiki/JavascriptTips - 興味深い js のヒントとコツ

http://www.quirksmode.org/ - js の学習とは直接関係ありませんが、異なるブラウザーで js を使用する場合は知っておく必要があります。

これが役立つことを願っています

于 2012-08-28T18:37:36.953 に答える