我想知道当用户单击/选择其中一个项目时,处理项目列表并显示项目详细信息的最佳方法是什么。这方面的一个示例是在左侧栏中显示电子邮件列表,并在用户单击其中一条消息时在主要内容区域中显示消息详细信息。
使用@pangrantz关于如何使用路由器基础设施标记活动菜单项的绝佳答案,我能够想出一个工作示例:jsFiddle
但是有几件事似乎不太正确:
首先,在#connectOutlets
路由器的show
状态下,我在控制器上设置选定的消息,并将插座与同一个对象连接起来。我想我可以做一个或另一个。
connectOutlets: function(router, context) {
router.set('messagesController.selected', context);
router.get('applicationController').connectOutlet('message-details', 'messageDetails', context);
}
其次,我正在从index
和状态转换到相同的show
状态。我什至不确定我是否要过渡到一个新的状态——我只是想连接插座。
showDetails: Ember.Route.transitionTo('show')
有什么我可以改变的,让这段代码更惯用吗?谢谢!