私はJavascriptとbackbone.jsを初めて使用します。RobotLegs を使用して AS3 でアプリケーションを開発し、それを Javascipt に移植する必要があります。クライアント側の MVC については、Backbone.js を検討し始めました。概念は簡単に見えますが、「正しい」方法で物事を行うことについて少し確信が持てません。行き詰っている所もありますが…
したがって、基本的に、アプリ構成を使用して JSON オブジェクトを取得する必要があるこの Web サービス (非 RESTful) があります。理想的には、この呼び出しを行う最善の方法はバックボーン モデルからだと思いますが、URL と Parse メソッドをオーバーライドして非 Restful サービスで動作させる方法がわかりません。そのため、今のところ、App.js のモデルの外部から Ajax 呼び出しを行っています (コードは以下で共有)。
JSON 呼び出しからデータを取得したら、それを ConfigModel (SingleTon Model) オブジェクトに格納して、モジュールからクエリを実行して値オブジェクトを取得し、最終的にいくつかのビューに入力します。ここに 2 つの問題があります。
1) Backbone.js を使用してシングルトン モデルを実装する方法がわからない 2) ConfigModel をさらに小さなモデル/コレクションに分割する方法がわかりません。ビュー コンストラクター。
特定のビュー/モデルなどの依存モジュールを定義([])するためにRequire.jsを使用しています。ロードされたモジュールの範囲についてはわかりません。それらをシングルトンにする必要がある場合は、それらをどこかに一度ロードしてから、他のクラス/モジュールオブジェクトに依存関係を挿入する必要があります。Backbone.jsでこれを実行するにはどうすればよいですか???
最後に、フレームワーク全体でカスタム イベントを使用したいと考えています。グローバルにディスパッチし、モデル/ビューなどからリッスンできるフレームワーク イベントの並べ替え...
ご覧のとおり、スコープ/シングルトンと、これらすべてが Backbone.js および Require にどのように適合するかについて、私はかなり混乱しています。
これが、現在のアプリの構造です...
1) 私の index.html ファイルは Require.js で "Main.js" をロードします
2) Main.js で App.js をロードし、init を呼び出します。Init は、Web サービスへの AJAX 呼び出しを行い、JSON テキスト ファイルを取得して解析する getConfig() 関数を呼び出します。これは、シングルトンの ConfigModel に保存したかったのです。ただし、ConfigModel自体からWebサービスを呼び出す方法をいじり始めたので、今コメントしました...うまくいきませんでした。
3) 次に、デフォルトの URL マップを持つルーターがあります。Web サービスから JSON を正常に受信した後、Router を初期化します。これが正しいのか、それともルーターから Ajax 呼び出しを行うべきなのか、よくわかりません。
コードは次のとおりです。http://pastebin.com/HHRF88Tq
私はあちこちにいることを知っていますが、誰かが私を正しい方向に導くことができれば、本当に感謝しています....
本当にありがとう。
サミール