2

私は最近 ember.js を発見し、その洗練さと可能性に興味を持ちました。これまでにいくつかの学習教材を読みました。

これらから、フレームワークの使用方法、ビュー、コントローラー、モデルの命名方法について多くの「仮定」があること、およびこれらの規則に従えばEmber. js は、デフォルトで「すぐに」実行できます。

もちろん、これは非常に便利ですが、書く必要のない裏で何が起こっているかを本当に知っている場合に限ります。そして、それから私の質問が来ます:

たとえば、1 つのアプリケーションテンプレートと 1 つのビューを定義するとどうなるでしょうか。自動的に何が行われますか? applicationController はインスタンス化されていますか? または、手動で作成する必要がありますか? サブビューのように、applicationViews/Controllers ではない他のビュー/コントローラーのペアについてはどうですか (applicationView と applicationController は、任意の ember.js アプリに存在する必要があるという点で何らかの形で一意であるため) ?

一連のルートを定義するだけで、ルーターのデフォルトの従来の動作をオーバーライドしない場合、ルーター (1.0pre4 の API) は自動的に何をしますか?

個人的には、ここで重要な概念を理解するのに本当に役立つのは、アプリケーションが適切に動作するために必要なすべてを実装する別の状態に遷移するサンプル アプリケーションです(つまり、ember が実行するコードに依存しません)。それ以外の場合)。そうすれば、さまざまな部分が動いているのを見て、頭の中でプロセスを「再設計」し、できればプロセスを完全に理解することができます。

この質問が非常に複雑または漠然としている場合は、興味を絞り込む方法を提案してください。

4

1 に答える 1

0

EmberJS を使い始めるために必要なものはほとんどありません。ここで JSFiddle を作成しました: http://jsfiddle.net/nzXW9/は、単純なアプリケーションがいかに単純であるかを強調しています。また、ルートApp.PetsCatsControllerに移動したときにそれが自動的にコントローラーになる方法を示すためだけに、余計なものを作成しました。pets.cats

applicationController開始するのにまたはは必要ありませんapplicationView。ルートからpets.index、Ember はデフォルトで次のことを前提としています: PetsIndexControllerPetsIndexViewPetsIndexRoute

EmberJS についての私の理解から、 #/pets/cats ルートに移動するときの単純なシナリオ例 (この段階では DS モデルはありません) を見てみましょう:

  1. 可能な場合は、PetsCatsRouteこのルートへの移動に関する指示を参照してください。
  2. Ember のコントローラーはシングルトンであるため、既に a のインスタンスがあるかどうかを確認します。あるPetsCatsController場合は #5 に進み、そうでない場合は #3 に進みます。
  3. ユーザー定義があるかどうかを確認し、あるPetsCatsController場合はそのインスタンスを作成します。
  4. ユーザー定義の がない場合はPetsCatsController、EmberJS で生成されたPetsCatsControllerコントローラーをインスタンス化します。
  5. 対応する が存在する場合は検索し、PetsCatsView存在しない場合は自動的に生成します。

JSFiddle からもわかるように、プロジェクトの拡張に伴って必要になる場合を除き、必ずしもインデックス ルートを気にする必要はありません。

于 2013-01-28T22:15:23.533 に答える