2016-06-28 3 views
0

작업에서 템플릿을 업데이트해야합니다. 하지만 두 개의 컨트롤러를 사용합니다. 내 템플릿에서 컨트롤러에서 템플릿을 업데이트 할 수 없습니다.

나는 텍스트를 보여

{{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

대신 [services] (https://guides.emberjs.com/v2.6.0/applications/services/)를 조사해야합니다. – locks

+0

[다시로드하지 않고 다른 컨트롤러에서 한 컨트롤러를 호출] 가능한 복제본 (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은 이전 버전의 레거시입니다. 엠버의 최신 버전은 inject.controller을 사용해야합니다 ...

관련 문제