2016-06-28 4 views
0

アクションからテンプレートを更新する必要があります。しかし、私は2つのコントローラを使用します。私のテンプレートでコントローラーからテンプレートを更新できません

私はテキストを表示:

{{myText}} 

マイコントローラ:

export default Ember.Controller.extend({ 
    myText: 'Hi', 
    actions: { 
    reload: function() { 
     this.set('myText', 'Bye'); 
    } 
    } 
    ... 

私はsomeFunから別のコントローラからそれを変更します。

export default Ember.Controller.extend({ 
    needs: ['another'], 
    someFun: function() { 
     this.get('controllers.another').send('reload'); 
    } 
}); 

それは(reloadアクションを呼び出します私はテストした)。しかし、それはテンプレートを変更しません。それでもHiが表示されますが、Byeに変更する必要があります。

+0

のコードを使用する必要があります。 'someFun'を呼び出すと? –

+1

代わりに[サービス](https://guides.emberjs.com/v2.6.0/applications/services/)を調べてください。 – locks

+0

[再ロードせずに別のコントローラから1つのコントローラを呼び出す]可能な複製(http://stackoverflow.com/questions/38085510/call-one-controller-from-another-without-reloading-it) –

答えて

0

私はあなたが達成したいとは思っていません。あなたのどちらかが私の-楽しい/またはボタンのクリックで離れてルーティングするときに、イベントを処理したい

https://ember-twiddle.com/acdeae68da87c11ad152702cd2f8fddd?openFiles=routes.my-fun.js%2C&route=%2Fmy-fun

:しかし、私は別のユースケースのために責めをしました。どちらのユースケースも、回転から取り出すことができます。 needsは、古いバージョンのレガシーです。新しいバージョンのemberは、inject.controller ...

関連する問題