4

KnockoutBackbone.jsSpineJavaScriptMVCなどの JavaScript MVC フレームワークを初めて試してみたいと思っています。

これらのフレームワークで利用可能なドキュメントのいくつかを調べ始めましたが、リレーショナル データを処理する方法の例を見つけるのに苦労しています。それらのほとんどは、例として ToDo リストを使用します。ToDo リストは便利ですが、リレーショナル データには対応していません。おそらく、より良い例は、レシピと材料の両方のモデルを備えた料理本でしょう:

var Recipe = function(){
   this.name = "Pizza";
   this.description = "A delicious baked, flat, disc-shaped bread topped with tomato sauce and cheese.";
}

var Ingredient = function(){
   this.name = "Tomato sauce"
}

var IngredientToRecipe = function(){
   this.recipe = null;
   this.ingredient = null;
   this.quantity;
}

私がこれまで見てきたモデルの例は、外部キー、ID 生成などの関係の問題を扱っていないようです。上記の例は多対多の関係ですが、サポートを喜んで受けます1 対多の関係の場合。

私はこれらのフレームワークが提供するものを本当に気に入っています:

  • モデルへの変更により、ビュー (つまり DOM) が自動的に更新されます。
  • 変更時にサーバー上のモデルを自動的に更新する
  • コードの明確な構成
  • 等...

しかし、どのフレームワークがモデル間の関係を最もうまく処理できるか、またそれが行われる例があればアドバイスをお願いします。

ありがとう!

4

3 に答える 3

1

Sproutcore にはクライアント側のデータストアがあり、toOne、toMany、ManyToMany の関係で異なるモデル オブジェクトを相互に関連付けることができます。データが変更されたときに自動的に更新されるストアに対するクエリを実際に書くことができます。同様に、更新を行ってモデル オブジェクトが変更された場合、そのモデルに (コントローラーを介して) 関連付けられているすべてのビューが自動的に更新されます)。また、SC にはネストされたストア機能があり、「保存またはキャンセル」タイプのワークフローで変更をシームレスに破棄できます。

http://guides.sproutcore.com/records.html

于 2011-08-30T18:24:26.063 に答える
0

MVC自体を探しているのではなく、「M」の良いものを探していると思います。したがって、ExtJSモデルの関連付けのようなものを探している可能性があります。(もちろん、Ext JSは完全なフレームワークであるため、jQueryの上に何かを振りかけることを検討している場合は、それは適していません。)

これがExtJS4のモデルのドキュメントであり、これがExt JS4MVCのトップレベルガイドです。

于 2011-08-31T00:49:54.703 に答える