0

EmberJS が「データはダウン、アクションはアップ」を促進することは知っていますが、そのパラダイムにどのように適合するかわからないというシナリオがあります。私が達成しようとしていることに類似した例で説明するのが最善です。

固定ヘッダー コンポーネント (' fixed-header') があるとします。このヘッダーを常に表示したいので、もちろんメインのアプリケーション テンプレートに追加します。

{{fixed-header}}
{{outlet}}

ここで、現在のルートに関する情報をヘッダーに表示したいとしましょう。簡単にするために、各ルートの固定ヘッダーに表示したいタイトルがあるとします。したがって、私がオンであろうとなかろうと、/fooそのルートがデータをコンポーネントに送信して表示できるようにしたいと考えています。つまり、「データダウン」に逆らって「データアップ」をしたいのです。/foo/bar/baz/wackawacka/meh?cat=meowfixed-header

これにアプローチする理想的な方法は何ですか?私の最初の本能は、my-headerリッスンし、ルートが情報を投稿できるサービスを作成することでした。しかし、それは正しいことですか?ちょっとしたテキストを送信するためだけにサービスを作成するのは奇妙に思えます。別の方法はありますか?

4

2 に答える 2

2

コンポーネントにパラメーターを使用できます。

{{fixed-header info=headerInfo}}
{{outlet}}

そして、いくつかのフックの任意のルートで

setupController: function(controller, model) {
  this._super(controller, model);
  var headerInfo = ...
  this.controllerFor('application').set('headerInfo', headerInfo);
}
于 2016-11-19T19:38:47.290 に答える
1

サービスは行く方法です。サービスEmberガイドを参照

Ember.Service は、アプリケーションの存続期間中存続する Ember オブジェクトであり、アプリケーションのさまざまな部分で利用可能にすることができます。サービスは、共有状態または永続的な接続を必要とする機能に役立ちます。

于 2016-11-19T07:36:31.637 に答える