EmberJS linkTo嵌套资源正在重新呈现父视图

EmberJS linkTo nested resource is re-rendering the parent view

本文关键字:新呈现 视图 linkTo 嵌套 资源 EmberJS      更新时间:2023-09-26

我正在尝试创建一个简单的界面,左边有一个链接列表,从AJAX调用中检索,单击后,在右边的{{outlet}}中打开,其中包含一些数据,也从该链接的另一个AJAX调用检索。以下是我的路线:

App.Router.map(function() {
    this.resource('about');
    this.resource('subreddit', { path: 'subreddit/:subreddit_name' }, function() {
    this.resource('comments', { path: 'comments/:id' })
    });
});

因此,我有一个动态链接列表,基于:subredit_name,具有以下结构:

subreddit/:subreddit_name/comments/:id

要创建链接,我有以下代码块:

<script type="text/x-handlebars" id="subreddit">  
    <div>    
        {{#each item in model}}
            {{#linkTo 'comments' item.subreddit item.id classNames="list-group-item"}}
                <img class="media-object" {{bindAttr src="item.thumbnail"}} class="img-rounded">
                {{item.author}}                    
            {{/linkTo}}
        {{/each}}
    </div>
    <div>{{outlet}}</div>
</script>

链接被正确更正,但是,在我插入到路由器的:subredit_name动态路由后,当我单击链接时,它会重新呈现整个模板,而不是只重新呈现注释的模板:

<script type="text/x-handlebars" id="comments">
{{#each item in model}}
  <div class="panel panel-info mypanel">
    <div class="panel-heading">{{item.author}}</div>
    <div class="panel-body">
       <p>{{{item.body}}}</p>
    </div>
  </div>
{{/each}}
</script>

我对EmberJS仍然很了解,这就是为什么我想征求一些建议/意见来纠正这一点。

提前感谢!

以下是jsbin的工作示例:

http://jsbin.com/OlOJEwAX/4/edit?html,js,输出

我已经设法使链接工作,但未定义的也在那里呈现:S