3

起動時に取得されたメタデータを使用してメニュー システムが動的に構築されるアプリがあります。このデータとメニュー選択に基づいて、ユーザーが検索条件を入力できる「フィルター ボックス」を作成する必要があります。「メイン」ビューは、フィルター ボックスと検索結果パネルで構成され、クラスに従って結果が表示されます。

フィルター ボックスを Backbone.js モデルとしてモデル化できますか? その構成はメニュー選択とメタデータに完全に依存するため、バックエンドからのデータフェッチはありませんか? たとえば、ユーザーが「Sales」メニューを選択すると、フィルター ボックスは「Sales Order Number」を要求する場合がありますが、ユーザーが「Material」を選択すると、フィルター ボックスは別のものを要求する場合があります。

次に、このウィジェットを「メイン」ビューのコンポーネントとして使用し、その場で作成される一連の結果ビューを使用します。ユーザーがメニューを選択すると、このメイン ビューは既存のフィルター ボックスのレンダリングを解除し、新しいフィルター ボックスを再計算して再レンダリングします。画面上の他のコンポーネントは、フィルター ボックスの設定を照会できます。

これまでに見た例には、常に URL とサーバーのフェッチ、保存などが含まれています。チュートリアル ページにある唯一の URL のない例は、それが「不自然な」例であると述べています。バックエンド プロバイダーが必要であり、この要件に準拠しないとプログラミングが落とし穴でいっぱいになるのではないかと考えていました。

ありがとう。

4

2 に答える 2

2

urlプロパティが定義されていないモデルを使用できます。Backbone のビルディング ブロックの 1 つはSyncオブジェクトです。これは、理想的には REST エンドポイントとの間でデータをプルおよびプッシュするときに役立ちます。これを機能させるには、データが提供される場所を指定する必要があります。そのためには、urlモデルまたはコレクションに値を設定します。

サーバーとの通信は必要ないが、単純なモデルまたはコレクションによって提供されるユーティリティ (イベント処理、フィルタリングなど) を使用するだけのurl場合は、設定せずにそのまま使用できます (そのままにしておくだけです)。メソッドが動作するfetchsave、動作しないことに注意してください)。

于 2013-06-03T14:53:05.037 に答える
1

はい、DOM ロジックにも Backbone を使用できます。モデルは、サーバーからのデータを表す必要はありません。バックボーンのいくつかの基本的な要素で好きなことをしてください。それが素晴らしい仕事をすると感じたら、単にそれらを使用してください:)

于 2013-06-02T23:10:17.133 に答える