Ember.js Route:从子setupController刷新父路由时如何避免无限循环

时间:2015-10-27 18:25:18

标签: ember.js

我有两个嵌套路线,projectsprojects/project。每当我打开project时,我都希望刷新projects路线。

我所知道的是在setupController挂钩期间调用控制器功能(最终会在refresh路由中调用projects)。像这样:

  // project route
  setupController: function(controller, model) {
    this.controllerFor('projects').send('search');
    controller.set('model', model)
  }

  // projects controller
  actions: {
    search: function() {
      // do other things
      this.send('refreshModel');

    }
  }

  // projects route
  actions: {
    refreshModel: function() {
      this.refresh();
    }
  }

问题在于,当调用refresh函数时,它不仅刷新当前路由,还刷新所有子路由,这意味着将再次执行此setupController挂钩,创建此无限循环。

有没有办法让Ember刷新当前路线,忽略它的孩子?

谢谢。

1 个答案:

答案 0 :(得分:0)

要直接回答,无法仅刷新父路线。但是,您可以重新加载模型并仍然获得所需的行为。

请参阅TV Upload Tool的相关API文档。