我希望我的Meteor应用程序使用IronRouter进行客户端路由。
我的路由代码如下所示:
Router.map(function() {
this.route('story', {
path: '/story/:_id',
data: function() {
return Stories.findOne({displayId: +this.params._id});
},
notFound: 'storyNotFound'
});
});
我有2个与此路线相对应的模板:
<template name="story">
Welcome to story: {{this.displayId}}.
</template>
<template name="storyNotFound">
Story not found
</template>
问题:'storyNotFound'模板从未呈现,即使
Stories.findOne({displayId: +this.params._id})
返回undefined。
相反,“故事”模板使用文本“欢迎来到故事:”进行渲染。
我错过了什么?
答案 0 :(得分:2)
您是否尝试将notFound:
替换为notFoundTemplate
? Iron Router示例使用notFound
,但我只能在源代码中找到notFoundTemplate
,这对我有用。
Router.map(function() {
this.route('story', {
path: '/story/:_id',
data: function() {
return Stories.findOne({displayId: +this.params._id});
},
notFoundTemplate: 'storyNotFound'
});
});