Ember.js 如何从控制器或视图获取路线的当前模型?

Ember.js 如何从控制器或视图获取路线的当前模型?,ember.js,Ember.js,我想在Ember中实现item list/item detail模式,但细微差别在于细节视图必须显示在所选项目的旁边。例如: <ul> <li><div>Post 1<div></li> <li><div>Post 2<div></li> <li><div>Post 3<div></li> <li>

我想在Ember中实现item list/item detail模式,但细微差别在于细节视图必须显示在所选项目的旁边。例如:

<ul>
    <li><div>Post 1<div></li>
    <li><div>Post 2<div></li>
    <li><div>Post 3<div></li>
    <li>
        <div>Post 4<div>
        <div>
            <ul>
                <li>Comment 1</li>
                <li>Comment 2</li>
                <li>Comment 3</li>
            </ul>
        </div>
    </li>
    <li><div>Post 5<div></li>
</ul>

我一直坚持的是如何以“余烬”的方式实现
isSelected
?我走的方向对吗?

你走的是对的。诀窍是使用不同的控制器将产品包装在项目列表和项目详细信息中。因此,首先指定把手
{{each}
helper应该将每个条目包装在
ListedProductController

{{#each model itemController="listedProduct"}}
现在定义
ListedProductController
,添加您一直在编写的
isSelected
函数。现在,它可以通过
needs
数组引用singleton
ProductController
,将路由器设置的产品与列出的产品进行比较

App.ProductController = Ember.ObjectController.extend({});
App.ListedProductController = Ember.ObjectController.extend({
  needs: ['product'],
  isSelected: function() {
    return this.get('content.id') === this.get('controllers.product.id');
  }.property('content.id', 'controllers.product.id')
});

我在这里发布了一个工作示例:

通过点击帖子,你想显示它的评论吗?我明白了吗?是的,我想显示评论,可能还有其他帖子的详细信息。天哪,这很管用,但让我很困惑。你有参考文献对此进行更多挖掘吗?这里有一篇可能相关的文章-
{{#each model itemController="listedProduct"}}
App.ProductController = Ember.ObjectController.extend({});
App.ListedProductController = Ember.ObjectController.extend({
  needs: ['product'],
  isSelected: function() {
    return this.get('content.id') === this.get('controllers.product.id');
  }.property('content.id', 'controllers.product.id')
});