1

我正在处理 EmberJS 的错误处理。现在我可以像这样处理我的错误:

App.MediaShowRoute = Ember.Route.extend
...
 actions:
     error: ()->
         @transitionTo '404'

但这只是暂时的决定。我现在想要做的是在该路线中呈现“404”模板,在那里我得到 404 错误。例如,如果我去

/媒体/111111

路由,我收到 404 错误,我不想转换到 404 页面,我想留在同一页面上,但在其中呈现 404 模板。我试过这样:

actions:
    error: () ->
        @render '404',
            into: 'media.show'

但它不起作用:)我会感谢你的帮助:)

4

1 回答 1

3

您可能想查看这里ErrorRoute的anderror模板。

它不能很好地处理错误代码,但是当你promise从你拒绝modelApp.MediaShowRoute的错误将成为你的内容ErrorController......然后你可以在你的ErrorRoute#renderTemplate

App.ErrorRoute = Ember.Route.extend({
    'renderTemplate' : function() {
        switch (this.get('controller.content.code')) {
            case 404 : return this.render('404');
            default : return this.render();
        }
    }
});

查看我的博客文章,了解如何传递错误代码的更深入示例: http ://www.riverrockapps.com/post/improving-error-route-in-emberjs

于 2013-12-08T07:09:31.590 回答