ember.js - Ember 路由器 - 如何处理 404(未找到)路由?

标签 ember.js ember-old-router

我正在尝试找出如何使用 Ember.Router 处理应用程序中的无效路由。

目前,如果我输入无效路线,例如myapp.com/#FooBarDoesntExist,它将重定向到索引路由('/')。如果我可以定义它将路由到的 notFound 或 404 状态,以便我可以通知用户发生了什么,我希望它。而不是将它们扔在主页上。

最佳答案

处理这个问题的一个好方法是声明一个除了你的路由之外还映射所有可能的 URL 的路由。您可以在这里举个例子:http://jsfiddle.net/mbreton/r3C9c/

var App = Ember.Application.create();

App.Router.map(function(){
    this.route('detail', {path: "detail"});
    this.route('missing', { path: "/*path" });
});


App.MissingRoute = Em.Route.extend({
    redirect: function () {
        Em.debug('404 :: redirection to index');
        this.transitionTo("index");
    }
});

App.ApplicationView = Em.View.extend({
    didInsertElement:function(){
        $('#missingLink').on('click', function (e){
            window.location.hash = "#/pepepepepep";
            return false;      
        });
    }
});

在此示例中,所有未知网址都重定向到索引路由。

关于ember.js - Ember 路由器 - 如何处理 404(未找到)路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12786383/

相关文章:

javascript - Ember.js 过滤内容并使用按钮操作

ember.js - ember 未捕获错误 : assertion failed: Emptying a view in the inBuffer state

ember.js - App.get ('router' ).send 导致此错误 Uncaught TypeError : Cannot redefine property: __ember1346884664897

ruby-on-rails - 使用 Rails 的 EmberJS 路由

javascript - 如何在运行时向 Ember.Router 添加路由或状态?

ember.js - 如何让两个 ember-cli 服务交叉通信?

ember.js - 在输入帮助器中绑定(bind)数据属性

javascript - Ember 关联和嵌套 URL

javascript - Ember.js 中的路由

javascript - 如何将 broccoli-compass 添加到 ember-cli v0.0.28?