【问题标题】:Triggering model hook when transitioning to same route with same queryParams转换到具有相同 queryParams 的相同路由时触发模型钩子
【发布时间】:2015-08-20 15:48:23
【问题描述】:

当您的 queryParams 不变(并且它们设置为 refreshModel : true)时,我如何在重新转换到 same 路由时触发我的模型挂钩?

例如,现在我正在使用 queryParam itemCount = 0 的路由“对话”,它从我的后端请求 10 个对话。当我从商店中卸载对话时,我现在有 9 个对话。

我想从我的后端重新获取 10 个对话(所以我总是至少有 10 个对话),但使用相同的 queryParam itemCount = 0。我该怎么做?

我在我想要刷新模型的控制器中尝试了这个:

this.transitionTo('conversations', { queryParams : { itemCount = 0 }});

但它不会触发我的模型钩子,我认为这是出于以下原因:

1 - 我已经在这条路线上 2 - queryParam 没有改变

如何强制模型重新加载?我在我的路线中读到了 reload 方法,但我迷失了这一切。

谢谢。

【问题讨论】:

  • 您可以在转换前尝试卸载所有对话。或者您可以尝试在转换之前重新加载数据(使用 store.find 或 store.findAll)。
  • @GennadyDogaev 一点也不坏。我会尝试并更新。

标签: ember.js ember-data


【解决方案1】:

你看过Route#refresh 方法了吗?我认为这样的事情可能会奏效:

export default Ember.Route.extend({
  actions: {
    unloadConversation() {
      // ...
      this.refresh();
    }
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-22
    • 2021-05-02
    • 2018-01-08
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2017-07-25
    • 2021-05-25
    相关资源
    最近更新 更多