2016-07-21 1 views
4

보기 모델에서 canDeactivate()을 사용하고 있습니다. 사용자가 canDeactivate이 검사를하지 말고 true (이 경우 다른 뷰에있는 뒤로 버튼을 누를 때) 인 뷰에서 벗어나는 방법이 있습니다. canDeactivate은 아무런 인수도 취하지 않습니다 (예 : router.navigateToRoute에 전달 된 매개 변수). 그렇다면 navigateToRoute을 호출 할 때 params arg에 Back 버튼이 눌려 졌음을 나타낼 수 있습니다. canDeactivate에 필요한 정보를 제공하는 좋은 방법은 무엇입니까?Aurelia보기 모델에서 canDeactivate 정보를 제공하는 방법

+0

아직이 문제에 대한 해결책을 찾기 위해 관리 않았다 달성하기 위해 필요한 정보를 포함하는 인수를 전달? – Peter

+0

예. 내 대답을 보라. –

답변

0

는 단순히 뒤로 버튼의 상태를 포함 (이 경우 네비게이션 바에서) 다른 뷰 - 모델을 수입했다.

0

질문이 있으시면 잘 모르겠습니다 ... 어쨌든 canDeactivate()에있는 클래스 속성에 액세스 할 수 있습니다. 예를 들어 :

canDeactivate() { 
    //before calling router.navigateToRoute 
    //you can set some properties to indicate the origin, the pressed button or wathever 

    if (this.someProperty === true) { 
     return true; 
    } 

    return false; 
} 
+0

이것은 OP 질문에 대한 답변이 아닙니다. OP는 탐색 할 위치를 canDeactivate()로 지정하는 방법을 묻습니다. 비활성화 할 수 있는지 여부를 결정하기 위해 알려줍니다. – htxryan

1

아우렐 리아 라우터 1.4.0부터, canDeactivate는이