onNoData(params, queryParams)
params{Object} - Serialized route parameters,/route/:_id => { _id: 'str' }queryParams{Object} - Query params object,/route/?key=val => { key: 'val' }- Return: {void}
.onNoData() hook is triggered instead of .action() in case when .data() hook returns "falsy" value. Run any JavaScript code inside .onNoData() hook, for example render 404 template or redirect user somewhere else. This hook can be async
FlowRouter.route('/post/:_id', {
name: 'post',
async data(params) {
return await PostsCollection.findOneAsync({ _id: params._id });
},
async onNoData(params, queryParams){
await import('/imports/client/page-404.js');
this.render('_layout', '_404');
}
});