Javascript 在Ember中不在父模板中呈现子模板的正确且干净的方法
我正在检修一个旧项目,使用带有firebase的ember来持久化数据。这是一个餐厅网站,我添加了身份验证,我允许管理员用户从餐厅菜单中添加和删除菜单项 我的路线安排如下Javascript 在Ember中不在父模板中呈现子模板的正确且干净的方法,javascript,model-view-controller,ember.js,Javascript,Model View Controller,Ember.js,我正在检修一个旧项目,使用带有firebase的ember来持久化数据。这是一个餐厅网站,我添加了身份验证,我允许管理员用户从餐厅菜单中添加和删除菜单项 我的路线安排如下 Router.map(function() { this.route('menu', function() { this.route('add'); }); }); 模型功能正常工作,但由于添加菜单项时的嵌套路径,菜单模板会不断增长,并将添加表单推到折叠下方。我的问题是,当您使用localhost/menu/
Router.map(function() {
this.route('menu', function() {
this.route('add');
});
});
模型功能正常工作,但由于添加菜单项时的嵌套路径,菜单模板会不断增长,并将添加表单推到折叠下方。我的问题是,当您使用localhost/menu/add时,正确的获取方法是什么,以使localhost/menu不会呈现?第一个选项 因此,似乎
菜单
和菜单.添加
路径没有太大关系。
第一个建议是将它们分开,因为它们是不相关的路线:
this.route('add-menu');
this.route('show-menu');
第二选项
但是如果它们有点关联,一个更好的建议是创建一个新的路径来列出菜单项。例如:
this.route('menu', function() {
this.route('add');
this.route('list');
});
这样,菜单
路由模板将为空。(在菜单
路由中,您可能需要添加一个重定向
钩子以重定向菜单
路由到菜单。列表
)
第三种选择
但我认为更好的建议是使用索引
路由。使用索引
路由,而不是定义上面的列表
路由。索引路径将列出菜单项
看一看
从灰烬指南