2014-06-18 4 views
1

세이브 할 때 페이지로 전환 한 다음 플래시 알림을 끄는 새 리소스 용 컨트롤러가 있습니다. 플래시 알림을받을 수 없습니다.Ember : 전환 후 코드 실행

App.StoriesNewController = Ember.ObjectController.extend 
    ... 
    actions: 
    updateStory: -> 
     if @get('model.isValid') 
     @get('model')?.save().then (data) => 
      @transitionTo('story', @get('model')) 
      Example.flash(success: 'The story was successfully updated.') 
     , (reason) => 
      message = (e for _, e of reason.errors).join("\n") 
      Example.flash(error: message) 
     else 
     Example.flash(error: 'Please fill out required fields') 
     return false 

내가 전환 후, 전환하기 전에 플래시를 퍼팅 시도, 또는 한 약속의 결과로, 예를 들어,

@transitionTo('story', @get('model')).then => 
    Example.flash(success: 'The story was successfully updated.') 

해당 사항 없음. 내가 한 일은 시간 초과를 사용하는 것입니다 :

@transitionTo('story', @get('model')).then => 
    setTimeout(-> 
      Example.flash(success: 'The story was successfully updated.') 
    , 100) 

그러나 이것은 특히 우아하지 않습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

+0

가능한 중복 http://stackoverflow.com/questions/17437016/ember-transition-rendering- : 여기

당신이 설명한 무엇을 JSBin의 예입니다 완료 이벤트) – Kingpin2k

답변

0

알렉스,

나는 "플래시 메시지"에 대해 충분히 말하지 않았다고 생각합니다. 이보기는 어디에 있습니까? 응용 프로그램 서식 파일 또는 StoriesNew 서식 파일에 있습니까?

전환을 시작한 후에는 현재보기가 더 이상 볼 수 없다고 가정해야합니다 (항상 그렇다고 볼 수는 없지만 만드는 것은 안전한 가정입니다). http://emberjs.jsbin.com/yixuwamo/5

[엠버 전환 및 렌더링 complete 이벤트 (의