多个嵌套路由内的 EmberJs 出口
EmberJs outlet inside multiple nested route
我对EmberJS中的outlets和渲染模板不是很了解。到目前为止,我一直在做大部分的 CRUD 操作,或者我的路由没有像这里那样嵌套多次,所以我还没有遇到这个问题。
在父路由中使用 {{outlet}}
就足够了。
问题出在我以前的方法上。
当我访问 routes admin/*
时一切正常,但是当我尝试进入例如admin/organization/{id}/user
它呈现了一个我想要避免的 admin/organization
模板。
我想这些事情可以使用 route.js
中的 renderTemplate(
) 函数来完成,但我无法弄清楚这些事情。
我在 [twiddle]
中重新创建了我的路由结构
有人可以给我解释一下吗?
嵌套路由总是有嵌套模板。要解决此问题,您可以使用 index
路由,默认情况下它存在于每个级别。您的模板结构将如下所示:
-app
--templates
---admin
----organization
-----index.hbs //template for admin/organization/index route, url: /admin/organization
-----user.hbs //template for admin/organization/user route, url: /admin/organization/user
----index.hbs //template for admin/index route, url: /admin
请注意,如果某些模板文件不存在(在我的示例中 app/templates/admin.hbs
、app/templates/admin/organization.hbs
不存在),则与只有 [=15] 的 .hbs
文件相同=]里面
我对EmberJS中的outlets和渲染模板不是很了解。到目前为止,我一直在做大部分的 CRUD 操作,或者我的路由没有像这里那样嵌套多次,所以我还没有遇到这个问题。
在父路由中使用 {{outlet}}
就足够了。
问题出在我以前的方法上。
当我访问 routes admin/*
时一切正常,但是当我尝试进入例如admin/organization/{id}/user
它呈现了一个我想要避免的 admin/organization
模板。
我想这些事情可以使用 route.js
中的 renderTemplate(
) 函数来完成,但我无法弄清楚这些事情。
我在 [twiddle]
中重新创建了我的路由结构有人可以给我解释一下吗?
嵌套路由总是有嵌套模板。要解决此问题,您可以使用 index
路由,默认情况下它存在于每个级别。您的模板结构将如下所示:
-app
--templates
---admin
----organization
-----index.hbs //template for admin/organization/index route, url: /admin/organization
-----user.hbs //template for admin/organization/user route, url: /admin/organization/user
----index.hbs //template for admin/index route, url: /admin
请注意,如果某些模板文件不存在(在我的示例中 app/templates/admin.hbs
、app/templates/admin/organization.hbs
不存在),则与只有 [=15] 的 .hbs
文件相同=]里面