Ember 模型未在 findAll 上更新

Ember Model not updating on findAll

我有一个模型最初加载的页面,但在随后的 link-to 到同一路线时,它没有正确更新。我正在使用 Ember 数据存储。

举个例子,我的页面是一个食物列表。我有一个包含水果、蔬菜、肉类等的导航。用户单击此按钮,然后 link-将它们发送到 foods.food 路线。

模型是

model(params) {
    return RSVP.hash({
      foodName: params.foodName,
      foodItems: this.store.findAll('food-items',  {adapterOptions: {foodName: params.foodName}} )
    });
}

在我的 afterModel(食物,过渡)中

food.foodItemsArr = food.foodItems.filter((foodKey) => {
  return (foodKey.get('foodName') === food.foodName);
});

然后在我的 hbs 模板中

{{#each model.foodItemsArr as |key|}}
    ...
{{/each}}

当用户最初在食物类型列表上单击(水果)时,它会按应有的方式加载水果。当他们之后点击不同的类型(蔬菜)时,food.foodItemsArr 给出的长度为 0。然后如果他们点击第三种食物(肉)然后返回蔬菜,蔬菜就会出现。就好像在 afterModel 触发之前模型没有足够快地更新数据存储一样。我已经检查过,数据在每次调用时都被服务器正确过滤和返回。求助!

感谢@torazaburo 为我指明了正确的方向。

我需要将 { reload: true } 添加到 食品:

this.store.findAll('food-items',  {adapterOptions: {foodName: params.foodName}, reload: true} )

强制重新加载模型。