Javascript 如何在没有嵌套样板的情况下创建嵌套管线
我的余烬路线设置如下:Javascript 如何在没有嵌套样板的情况下创建嵌套管线,javascript,ember.js,Javascript,Ember.js,我的余烬路线设置如下: App.Router.map(function() { this.resource("subreddit", { path: "/r/:subreddit_id" }, function() { this.resource('link', { path: '/:link_id'} ); }); }); 但是我想在一个完全独立的模板中查看每个链接。换句话说,我想呈现一个不同的html块,而不是将链接html呈
App.Router.map(function() {
this.resource("subreddit", { path: "/r/:subreddit_id" }, function() {
this.resource('link', { path: '/:link_id'} );
});
});
但是我想在一个完全独立的模板中查看每个链接。换句话说,我想呈现一个不同的html块,而不是将链接html呈现到subreddit的{{outlet}中 如果要在单独的模板中呈现链接,则不应嵌套路由:
App.Router.map(function() {
this.resource("subreddit", { path: "/r/:subreddit_id" });
this.resource('link', { path: '/:link_id'});
});
您可以采取的另一种方法是使用命名出口,覆盖相应路线的renderTemplate
,并在命名出口的位置呈现模板,请查看此处以了解更多信息:
希望有帮助。当您在浏览器中点击
/r/xxx
时,Ember将查找与子Reddit
相关的两个模板。它首先查找'subreddit'
,然后查找'subreddit/index'
。如果找到了“subreddit
”,则将其呈现,如果还找到了“'subreddit/index'
,则将其呈现到'subreddit'
的{outlet}}
中。如果找不到'subreddit'
,Ember将直接转到'subreddit/index'
。'subreddit'
模板也会为嵌套在/subreddit
下的任何子路径呈现,例如/r/xxx/yyy
的'link'
模板<代码>'subreddit'有点像“每模型布局”模板,允许您包装(装饰)所有子路径模板
类似这样的东西应该允许您保留嵌套的路由,并允许您使用余烬默认行为
<script type="text/x-handlebars" data-template-name="subreddit">
<p>A static header bar for this subreddit could go here, or not.</p>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="subreddit/index">
<p>
All of the details of the subreddit go here, this will be rendered
into the {{outlet}} of "subreddit".
</p>
</script>
<script type="text/x-handlebars" data-template-name="link">
<p>
Link view goes here. This template will replace "subreddit/index"
in the {{outlet}} of "subreddit".
</p>
</script>
此子Reddit的静态标题栏可以放在这里,也可以不放在这里
{{outlet}}
子Reddit的所有细节都在这里,这将被呈现
进入“subreddit”的{outlet}}。
链接视图在这里。此模板将替换“subreddit/index”
在“subreddit”的{outlet}}中。
如果我想在非嵌套路由中访问:subreddit_id怎么办?@Brandon,这就是为什么我提出了不同的方法,这样你就可以保留嵌套路由并在不同命名的outlet路径中呈现模板!如何使我的模型在subreddit/索引中而不仅仅是subreddit中可用?您还有一个SubredditIndexRoute
和SubredditIndexController
。您几乎可以重命名Subreddit
子控件,或者您可以定义这两个控件的自己版本,然后使用needs
和属性绑定来访问SubredditController
的模型。