1

トレックのチュートリアルから:

アプリケーションにはApplicationViewプロパティが必要です。このクラスのインスタンスが作成され、ルートビューとしてアプリケーションのビュー階層に挿入されます。

そして、チュートリアルはこのサンプルコードを提供します:

App.ApplicationView = Ember.View.extend({
  templateName: 'application'
});

App.ApplicationController = Ember.Controller.extend();

との何が特別なApplicationViewApplicationControllerですか?それらの特定の名前は予約されており、変換で使用する必要がありますか、それともルーターがそれらを参照する方法に特別な何かがありますか?

私が理解しているように、Emberの原則の1つは、定型コードを排除することです。したがって、出発点としてすべてのアプリに対してこれら2つのビューを明示的に作成することには、さらに何かがあると思います。そうしないと、Emberが舞台裏でそれらを作成してしまいます。

私の質問を言い換えると、Emberアプリケーションの特徴ApplicationViewと特別な点です。ApplicationControllerアプリごとに明示的に作成する必要がありますか?作成する場合は、規則に従って名前を付ける必要がありますか?

注:私はember-latestを使用しています

4

1 に答える 1

5

Ember.jsは、設定より規約のプログラミング哲学に準拠しようとします。このため、いくつかのものは具体的に名前を付け、正しいケーシング規則に従う必要があります。アプリケーションを呼び出すとApp.initialize()、それ自体でプロパティを探しますApp.ApplicationView。次に、アプリはこのビューをレンダリングし、それをdomに挿入して、のインスタンスを自動作成しApp.ApplicationController、のレンダリングコンテキストとして設定しますApplicationView。これは、ビューでプロパティを参照するだけApplictationControllerで、のプロパティをバインドできることを意味しApplicationViewます。

または残り火なしで呼び出すApp.initialize()と、エラーがスローされ、作成する必要があることが通知されます。App.ApplicationViewApp.ApplicationController

ApplicationViewおよびApplicationControllerは残り火アプリケーションの不可欠な部分であり、存在する必要があります。EmberはMVCフレームワークでApplicationViewあり、ルートVでApplicationControllerあり、ルートCです。必要な部分だけにemberのようなフレームワークを使用しようとするのは魅力的ですが、もう少し作業を行うだけで、はるかに堅牢になります。 、機能をチェリーピックしようとする使いやすいアプリケーション。

于 2012-10-03T16:59:23.603 に答える