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
Post a Comment