2017-01-27 10 views
1

私は解決の中で自分のルートパラメーターを取得しようとしています。 しかし、それにはパラメータが含まれていませんが、コンポーネントの内部からactivatedRouteを使用すると機能します。私はルートがまだ解決の中で変更されていないためだと思う。これをどのように機能させるには?解決方法内のルートパラメーターを取得する方法角度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"} 
} 
関連する問題