2017-12-16 8 views
0

日付ピッカーとボタンの2つのコンポーネントがあるWebアプリケーションがあります。Ember JS日付ピッカーから日付を選択したときのボタンコンポーネントの色とタイトルを変更します

日付選択ツールで日付を選択すると、ボタンのタイトルと色が変更されます。

{{bootstrap-datepicker value=expiresAt todayHighlight=true todayBtn=true startDate=startDate changeDate="changeDateAction" autoclose=true}} 
{{button-custom title="Previous Date" startDate=startDate status=1 id="button1"}} 

ボタンカスタムは私によって作成されます。

これは、2つの成分が与えられている私のHBSコードがあります。

日付を選択すると、datePickerのchangeDateAction()という名前の関数が呼び出されます。私は、ボタンコンポーネントのコントローラに、changeValues()という名前の関数を持っています。

別のファイルにあるchangeDateAction()からchangeValues()(これはbutton-custom.jsにあります)を呼び出すにはどうすればよいですか?

私はEmber JSの初心者ですので、できるだけシンプルにしてください。前もって感謝します。

答えて

0

兄弟コンポーネント(bootstrap-datepicker)の変更についてコンポーネント(button-custom)に通知したいようです。親コンポーネント/コントローラに変更について通知するアクションハンドラ(changeDateAction)をすでに設定しています。 button-customにその変更を伝播させるために、私はちょうどあなたがそれまで達成したい効果を渡すことをお勧めしたい:このように

{{bootstrap-datepicker changeDate="changeDateAction" (...)}} 
{{button-custom title=title color=color (...)}} 

を、あなたはからボタンの外観を制御することができます外側はtitlecolorに変更してください。同様に、ロジックは親コンポーネント/コントローラに移動され、ボタンコンポーネントは「ダム」プレゼンテーションコンポーネントになります。

この背後にある基本的な概念は、「アップダウンデータ、アクション」(DDAU)と呼ばれ、あなたがエンバーを学習している場合、私は非常に例hereのために(その上に読むことをお勧めしたい!

関連する問題