2017-01-27 4 views
1

Я пытаюсь получить параметры своего маршрута внутри решения. Однако он не содержит параметров, но когда я использую activeRoute изнутри компонента, он работает. Я думаю, это потому, что маршрут еще не изменился внутри решения. Как мне заставить это работать?Как получить Route Params внутри Resolve Angular 2

post.resolve.ts

@Injectable() 
export class PostResolver implements Resolve<any> { 
    slug: any; 

    constructor(
     private activatedRoute: ActivatedRoute, 
     private memoryService: MemoryService, 
     ) {} 

    resolve() { 

     console.log(this.activatedRoute); 

     this.activatedRoute.params.subscribe(params => { 
      this.slug = params['slug']; 
      console.log(this.slug); 
      return this.memoryService.getPost(this.slug); 
     }) 

    } 
} 

app.route.ts

{ 
    path: 'post/:slug', 
    component: PostComponent, 
    data: {title: 'Post'}, 
    resolve: { 
     post: PostResolver 
    } 
}, 

ответ

3
import { Resolve, ActivatedRouteSnapshot } from '@angular/router'; 

resolve(route: ActivatedRouteSnapshot) { 
    console.log(route.data); // {title: "Post"} 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^