Ember.js路由和后退按钮问题

Ember.js Routes and Back Button Issue

本文关键字:按钮 问题 js 路由 Ember      更新时间:2023-09-26

单击后退按钮时遇到模板无法呈现的问题。从我所读到的内容来看,这是一个问题,因为父模板永远不会消失,子路由应该呈现到父路由中。但是,我希望用户在添加记录或编辑记录时有一个干净的页面。我目前正在将模板呈现到主应用程序模板上的命名插座中。

在这种情况下,newrecord 和 editrecord 应该呈现为表单。但是,我希望URL是localhost/form/formID/newrecord,以便用户知道他们仍在表单中。

问题:实现这一目标的最佳方法是什么?我是否必须将路由更改为子资源或将它们作为更高级别的资源移动?有没有更好的方法来实现我想要的?

App.Router.map(function(){
this.resource('home', { path: '/' });
this.resource('form', { path: '/forms/:form_id' }, function() {
       this.route('newrecord', { path: '/newrecord' }); 
       this.route('editrecord', {path :'/editrecord' });
    });
});

模板

<script type="text/x-handlebars" data-template-name="application">
{{ outlet }}
{{ outlet newrecord }}
{{ outlet editrecord }}
</script>

我发现泰迪·泽尼(Teddy Zenny)在这里回答得最好。

Ember.js:使用嵌套路由时,"后退"按钮不刷新索引视图