当路由不存在时,iron-router渲染notFound模板

时间:2014-09-26 08:41:03

标签: javascript meteor iron-router

如果数据函数返回类似null的假值,则NotFound模板将在我的应用程序中呈现。这样可以正常工作,但是现在我还要渲染NotFound模板,如果路由不存在的话。

例如:

this.route('settingsOverviewPage', {
        path: '/settings',
        data: function() { return Users.findOne(Meteor.userId()); },
        waitOn: function() {
            if (Meteor.userId()) {
                return Meteor.subscribe('ownUser', Meteor.userId());
            }
            return null;
        }
    });

如果我使用此路由:例如/settings12345,浏览器会重新加载,但会呈现最后路由。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你必须定义一个" catch-all"像这样的路线:

this.route("notFound",{
  path:"*",
  template:"notFoundTemplate"
});

将此路由定义为最后一个路由非常重要,否则它将捕获有效的URL。