2014-03-07 2 views
0

Dynamic Routing이 발생할 때마다 LoadingRoute를 호출하는 방법은 무엇입니까? 제품/1 및 제품/2.LoadingRoute는 동적 세그먼트에 대해 한 번만 호출됩니다.

문제를 설명하기 위해 jsbin을 생성했습니다.

+0

엠버는 동물원 경로 내에서 zoobats의 컬렉션을로드 한 것으로 가정한다. 실제 앱에서는 타임 아웃을 사용하지 않으므로 zoobat 경로의 각 항목이 즉시 렌더링되고로드 루트가 필요하지 않습니다. –

+0

이것은 전체 제품이나 클라이언트 또는 잘못된 것으로 보이는 테이블을 반환해야한다는 것을 의미하므로 좋은 가정이라고 생각하지 않습니다. 당신이 말한 것은 불씨 행동 인 것 같습니다. 어떻게 수동으로이 동작을 무시하고 각각의 동적 세그먼트에 대해 LoadingRoute를 표시하도록 강제합니까? – TrevTheDev

+0

이 문서에서 설명하는 작업 후크를 사용하여 경로 별 로딩 상태를 지정할 수 있습니다. 하단에는 레거시 LoadingRoute에 대한 소개가 있습니다. http://emberjs.com/guides/routing/loading-and-error-substates/ –

답변

0

작동 게시하는 sly7-7 주변의 작업은 here

는 기본적으로 동적 세그먼트 경로에서 내려 가장 한 수준에서 LoadingRoute를 정의 찾을 수 있습니다.

App.Router.map(function() { 
    this.route('foo'); 
    this.resource('zoo', function(){ 
    this.route('bat', {path: "/:bat_id"}); 
    }); 
}); 

를 들어이 앱에 ZooLoadingRoute을 갖는 것을 의미한다. 모든 zoobats에게, 열망 부하에 어떤 박쥐 자원에 가서 처음으로 원하지 않는 경우

0

, 당신은 App.BatRoute를 정의 이제

App.Router.map(function() { 
    this.route('foo'); 
    this.resource('bat', {path: "/zoo/:bat_id"}); 
}); 

에 라우터를 변경하고 링크로의 경로를 변경할 수 있습니다 'zoo.bar'에서 'bar'로 이동하십시오. ZooLoadingRoute을 추가하지 않고 각 동적 경로에 대한로드가 발생하며 모든 zoobats를 열심히로드 할 필요가 없습니다.

확인이 jsbin

+0

감사합니다. Subramaniam. 메소드가 작동하는 이유는 Route를 정의한 방식이 ApplicationRoute에서 1 레벨 위로 있기 때문입니다. 그것이 더 이상 이었다면 당신의 대답은 효과가 없을 것입니다. – TrevTheDev

관련 문제