box/inbox.hbs
users/profile.hbs
和{{outlet inbox}}
profile.hbs
在profile.hbs
{{#link-to 'box.inbox'}}this is a link{{/link-to}}
我应该box/inbox.hbs
将{{outlet inbox}}
呈现在router.js
我想要在Router.BoxInboxRoute = Ember.Route.extend({
renderTemplate: function(){
this.render('box.inbox', {into: 'users.profile', outlet: 'inbox'});
}
});
中执行的插座/box/inbox
中: / p>
inbox.hbs
但链接只是将我重定向到另一个页面profile.hbs
。如何获取{{1}}以在{{1}}
答案 0 :(得分:0)
我认为link-to
助手是混乱的根源。据我所知,link-to
将始终更改网址和路由,因此您无法通过单击box.inbox
模板的users.profile
模板的特定部分来实现链接,除非您使用嵌套路由。
但是,为了实现点击链接以显示收件箱内容,您可以随时使用指定的插座加载隐藏的box.inbox
路线,然后点击链接,显示包含{{的div 1}}内容。这是一个例子。
UsersProfileRoute:
box.inbox
用户/ profile.hbs:
Router.UsersProfileRoute = Ember.Route.extend({
renderTemplate: function(){
this.render();
this.render('box.inbox', {into: 'users.profile', outlet: 'inbox'});
}
});
的CSS:
<a href='#' {{action 'showInboxAction'}}>click to see inbox</a>
<div {{bind-attr class=":inbox-style shouldShowInbox:displayed:hidden"}} >
{{outlet inbox}}
</div>
并在用户配置文件控制器中有一个操作:
.inbox-style.displayed {
display: block;
}
.inbox-style.hidden {
display: none;
}