ember.js使用相同的控制器和视图来查看不同的路由

时间:2014-12-15 13:43:29

标签: ember.js ember-cli

我想制作一个需要转到服务器并获取新数据的searchQuery(查询必须在服务器中,Filter不是一个选项)

所以我发现我必须有不同的搜索路径

(使用ember_cli)
我有一个名为sessions的hbs / controller / route 现在我添加了一条路线search-sessions.js sessions控制器中的搜索功能调用:this.transitionToRoute("search-sessions", query);

我想不要干,所以我试图让search-sessions.jssessions控制器/ hbs一起工作(除了将查询传递给服务器之外,它们完全相同)

我尝试在search-sessions.js路由中添加以下代码:

export default Ember.Route.extend({
    model: function(params) {
      return this.store.findQuery('session', params.filters);
    },
    controllerName: 'sessions',

    renderTemplate: function() {
      this.render('sessions');
    }
  });

问题是 - 除非我刷新页面,否则模型/视图不会更新

如果我复制了代码(search-sessions的单独的hbs / controller它会起作用,但会错过不重复代码的重点)

1 个答案:

答案 0 :(得分:0)

以下似乎刷新了模型:

App.SearchRoute = Ember.Route.extend({
  model: function(params) {
    return ['pink', 'orange', 'green'];
  },
  controllerName: 'common',

  renderTemplate: function() {
   this.render('common');
  }
});

你在做什么不同?你可以在下面的jsbin中重现你的问题吗?

http://emberjs.jsbin.com/yukaxe/2/edit