如何在Ember中为多个路径使用一个视图

时间:2015-02-02 17:31:19

标签: ember.js view routes dry

我在views/posts/index.js中有一个观点。我有一条路线列表和另一条路线搜索引擎。如何在第二条路线中使用它,这是一个搜索引擎?

1 个答案:

答案 0 :(得分:2)

假设您有一个模板posts

<script type="text/x-handlebars" id="posts">
  <h3>{{ route }}</h3>
</script>

您想要同时使用posts/indexposts/search

您可以覆盖路径中的renderTemplate方法,如下所示:

App.PostsIndexRoute = Ember.Route.extend({
  model: function(){
    return { route: "INDEX"};
  },
  renderTemplate: function(controller, model) {
    this.render('posts', {
      into: 'application',
      controller: controller,
      model: model
    }); 
  }
});

App.PostsSearchRoute = Ember.Route.extend({
  model: function(){
    return { route: "SEARCH"};
  },
  renderTemplate: function(controller, model) {
    this.render('posts', {
      into: 'application',
      controller: controller,
      model: model
    }); 
  }
});

工作演示here