0

私はまだ Backbone を使い始めたばかりで、これにはかなり困惑しています...

タイトル用のルーター/コレクション/ビューと、キャンペーン用のルーター/コレクション/ビューがあります。

ユーザーが新しいキャンペーンを作成するときは、タイトルに関連付ける必要があります。したがって、作成フォームでは、名前と (レール) ID を取得できるように、すべてのタイトルのリストにアクセスする必要があります。

ただし、キャンペーン ビュー内からこのタイトル リストにアクセスする方法がわかりません。

ソリューションに関するいくつかの考え:

  1. 合字のような連想ライブラリを使用する -- これは、かなり単純な問題の場合、かなりの作業のように思えます。連想は実際には必要ありません.タイトルの完全なリストが必要なだけです。
  2. Titles コレクションをグローバル スコープで宣言し、それを Titles ルーターの初期化子に渡します。
  3. Campaigns ルーターで Titles コレクションを作成します。これはかなり冗長に思えます。

コードを投稿できてうれしいですが、何が関連しているのかわかりません。

4

1 に答える 1

0

グローバルスコープで意味する場合はwindow、可能であればそれを避けることをお勧めします。タイトル/キャンペーン クラスは共有スコープにアクセスできますか? 例えば:

( function () {

  var App = {};

  // ...

  // Titles code

  var titles = App.titles = new Backbone.Collection;

  // ...

  // Campaign code

  var titles = App.titles;

} )();

アプリ全体で単一の Titles コレクションを使用する場合、アプリのさまざまな部分が共有スコープにアクセスできるように調整することができます。

それ以外の場合、何らかの理由でそれが非現実的または望ましくない場合は、キャンペーン セクションに別のタイトル コレクションを作成してサーバーから取得するか、ブートストラップするか、任意の方法で入力することができます。

いくつかのコードを見ずに、より具体的にするのは難しいので、投稿に関連すると思われるコードを提案するかもしれません。

于 2012-08-11T01:23:17.897 に答える