2017-05-15 5 views
0

사용자가 클릭하여 항목에 대한 자세한 정보를 얻을 수있는 여러 항목을 나열한 angular2 앱이 있습니다.Resolve를 사용하여 경로 변경 중지

이제는 서비스 요청을 할 때 알 수있는 세부 항목이 없으므로 페이지를 404 등으로로드하는 대신 간단히 그 페이지로 연결되도록하십시오.

Resolve를 사용하여 항목을로드하므로 이론상 매우 간단해야하지만 특정 조건에서 경로가 변경되는 것을 막을 수는 없습니다.

Location.back을 사용해 보았지만 전혀 작동하지 않는 것 같습니다.

resolve(route: ActivatedRouteSnapshot): Promise<Article> { 
    return this.articleService.getArticle(route.paramMap.get('name')).then((article) => { 

     if (article) { 
      return Promise.resolve(article); 
     } 
     else { 
      //Stop them? 
     } 

    }) 
} 

답변

1

if (article) { 
     return article; 
    } 
    else { 
     return Promise.reject('No articles'); 
     // or throw ... 
    } 

없음 Promise.resolve이 필요하지 않습니다.