2016-05-20 26 views
2

私は、ルーティング可能なコンポーネントが将来登場するときにコントローラの終わりを予期していました。だから私は私のルートにアクションハンドラーを入れています。私のテンプレートでEmber 2.5のアクション - ルートまたはコントローラ?

// app/something/route.js 
actions: { 
    doSomething() { 
     alert('action handled in route'); 
    } 
} 

{{!-- app/something/template.hbs --}} 
{{some-component action="doSomething"}} 

私のコンポーネントで:

{{!-- app/components/some-component/template.hbs --}} 
<button {{action "onClickButton"}}>Click Me</button> 

// app/components/some-component/component.js 
actions: { 
    onClickButton() { 
     this.sendAction(); 
    } 
} 

は私がルートでアクションを処理し、完全にコントローラを避けるべきでしょうか?

+1

いいえ、コントローラを避けるべきではありません。それは非生産的で不必要なことです。 – locks

+0

良い、しかし、私は逆のhttp://emberigniter.com/should-we-use-controllers-ember-2.0/にアドバイスを見ていますが、多くの方向性はありません。私が紛失している書類を私に指摘するように気をつけますか? –

+1

https://locks.svbtle.com/controllers-are-dead-long-life-controllers https://guides.emberjs.com/v2.5.0/controllers/ – locks

答えて

2

トンの@locksからの入力のおかげで、コントローラはが離れて行くされていないように見えます彼はEmber学習チームです。 his blog postによると

は将来性であることは、これまで任意のコントローラを使用したことがないという意味ではありません。

すべてのルートのコントローラを生成します。

あなたもエンバーチームがコントローラに自分のスタンスを軟化さtrekからこのgit commitで見ることができます。

したがって、終了するには、コントローラーを使用することをお勧めします。それが私の行動を取り入れている場所です。

関連する問題