单击后退按钮时,我遇到了模板未呈现的问题。从我读过的内容来看,这是一个问题,因为父模板永远不会消失,子路由应该呈现到父路由中。但是,我希望用户在添加记录或编辑记录时有一个干净的页面。我目前正在将模板渲染到主应用程序模板上的命名插座中。
在这种情况下,应该将 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>