angular - Using Resolve In Angular2 Routes -


in angular 1 config looks this:

$routeprovider   .when("/news", {     templateurl: "newsview.html",     controller: "newscontroller",     resolve: {         message: function(messageservice){             return messageservice.getmessage();     }   } }) 

how use resolve in angular2?

@andréwerlang's answer good, if want resolved data on page change when route parameter changes, need to:

resolver:

@injectable() export class messageresolver implements resolve<message> {    constructor(private messageservice: messageservice, private router: router) {}    resolve(route: activatedroutesnapshot, state: routerstatesnapshot): observable<message> {     const id = +route.params['id'];     return this.messageservice.getbyid(id);   } } 

your component:

ngoninit() {   this.route.data.subscribe((data: { message: message }) => {     this.message = data.message;   }); } 

Comments

Popular posts from this blog

javascript - Slick Slider width recalculation -

jsf - PrimeFaces Datatable - What is f:facet actually doing? -

angular2 services - Angular 2 RC 4 Http post not firing -