3

如果您有 2 个不同的页面(称为主页和帖子)共享几乎完全相同的内容和功能,那么将一个页面绑定到另一个页面的最佳方法是什么?

在这个小提琴中,我通过直接在路由器中设置它,将一个视图的内容与另一个视图的内容相关联,如下所示:

Router: Ember.Router.extend({
 root: Ember.Route.extend({

     //transitions 

      home: Ember.Route.extend({
          route: '/',
          connectOutlets: function(router) {    
               var posts = router.get('postsController.content');                              
               router.get('homeController').set('content', posts);
               router.get('applicationController').connectOutlet('home');
          },
      }),

    //posts and other states
  })
})

但是:如果帖子内容需要,我真的不需要即时更新主页内容,但如果我这样做了,会吗?

还有什么其他方法?是否可以使用 connectControllers() 然后在哪里使用它?这是我的失败尝试:另一个小提琴

home: Ember.Route.extend({
     route: '/',
     connectOutlets: function(router) {                                            
         router.get('homeController').connectControllers('posts');                          
         router.get('applicationController').connectOutlet('home');
      },                    
})
4

1 回答 1

5

你可以使用template助手。

<script type="text/x-handlebars" data-template-name="posts">
  <div class="right"><h2>posts page</h2>
    {{template "posts-details"}}
  </div>            
</script>

<script type="text/x-handlebars" data-template-name="posts-details">
  {{#each post in content}} 
    <article>                                   
      <h3><a {{action "doPost" context="post"}} {{bindAttr id="post.id"}}>{{post.title}}</a></h3>
      <p>{{post.date}}</p>
    </article>
  {{/each}}
</script>

查看您更新的小提琴

于 2012-10-09T12:13:50.453 回答