请参阅以下运行中的JSBin:http://jsbin.com/acUm/20

这是我正在努力的行为。如果我键入“ Monroe”以过滤列表,然后单击浏览器的“后退”按钮,则我希望Ember处理路线并向所有患者发出请求。相反,它似乎无能为力。这尤其令人困惑,因为“后退”按钮似乎在其他区域也起作用。

也许我设置的过渡不正确?还是这是一个Ember.js错误?

最佳答案

过渡到路线时,最好在层次结构中使用最短的路线。

您的情况是这样的:

this.resource('patients', { path: '/' }, function() {
  // this is created for you
  // this.route('index');
  this.route('filtered', { path: '/filtered/:last_name' });
});


默认情况下,将为该资源创建一个路由索引,因此您具有patients.index
但是您的转换进入了patients,它并不是最幼稚的。

因此,为了更正此问题,我将您的示例更改为使用PatientsIndex[Controller,Router etc]而不是Patients[Controller,Router etc]

工作演示http://jsbin.com/acUm/24/edit

09-12 07:06