143

私は ember.js を学んでおり、ビューとコンポーネントの違いを理解しようとしています。どちらも、再利用可能なコンポーネントを作成する方法だと思います。

ビューに関するEmberのWebサイトから:

Ember.js のビューは通常、次の理由でのみ作成されます:
-ユーザー イベントの高度な処理が必要な場合-再利用可能なコンポーネント
を作成する場合

コンポーネントに関する Ember の Web サイトから:

コンポーネントは、JavaScript を使用して動作を実装し、Handlebars テンプレートを使用して外観を記述するカスタム HTML タグです。これらを使用すると、アプリケーションのテンプレートを簡素化できる再利用可能なコントロールを作成できます。

ビューとコンポーネントの主な違いは何ですか? また、コンポーネントよりもビューを使用したい、またはその逆の一般的な例は何でしょうか?

4

3 に答える 3

17

答えは簡単です:コンポーネントを使用します

2013 年 8 月に録画されたトレーニング ビデオによると、Yehuda Kats と Tom Dale (Ember Core チーム メンバー) は、フレームワーク開発者でない限り、ビューを使用しないよう聴衆に伝えました。ハンドルバーに多くの機能強化を行い、コンポーネントを導入したため、ビューは不要になりました。ビューは、{{#if}} や {{outlet}} などを強化するために内部的に使用されます。

また、コンポーネントはブラウザに組み込まれる Web コンポーネントの標準によく似ているため、Ember コンポーネントを快適に構築できるようになることには、多くの副次的な利点があります。

2014-11-27 更新

ビューの代わりにコンポーネントを使用することがさらに重要になりました。Ember 2.0 は、ルートが入力されたときにコントローラー/ビューの代わりにルーティング可能なコンポーネントを使用するためです。アプリの将来性を保証するために、Views から離れることをお勧めします。

ソース:

于 2014-05-22T06:01:16.660 に答える
5

現時点ではv2.x、現在の安定版リリースであるため、ビューは完全に廃止されています。ビューは Ember 2.0 API から削除されていると言われています

したがって、{{view}}Ember 2.0 でキーワードを使用すると、アサーションがトリガーされます。

アサーションに失敗しました:{{view}}またはそれに基づくパスの使用は Ember 2.0 で削除されました

Ember 2.0 でビューを使用する必要がある場合は、バージョン 2.4 までの Ember と互換性のあるember-legacy-viewsアドオンを使用できます。

つまり、要約すると、コンポーネントは現在 (ビューは削除されています) であり、将来のものであり、コントローラーも置き換えられます。ルーティング可能なコンポーネントの RFCを参照してください。

于 2015-09-27T13:24:04.220 に答える