Ember.js - 动态访问路由中的查询参数

时间:2016-01-11 14:22:56

标签: javascript ember.js

我使用以下代码访问路径中的查询参数:

export default Ember.Route.extend({
  afterModel: function(params, transition){
    this.set('clientId', transition.queryParams.clientId);
  },
  setupController: function(controller) {
    controller.set('clientId', this.get('clientId'));
  }
});

我没有使用控制器的原因是因为我将这些数据直接输入到组件中,并且我理解在较新版本的Ember控制器中将逐步淘汰。

这当前正在运行但是如果我更改了URL中的任何属性,它不会在应用程序中更新,除非我刷新页面或退出路径并重新输入它。

如何“重新运行”afterModel路由并更新传递给组件的属性?

如果唯一的选择是使用控制器,那么我可以实现这一点,直到找到更好的解决方案。

1 个答案:

答案 0 :(得分:0)

尝试将此添加到您的路线:

queryParams: {
    'clientId'   : {
        refreshModel: true,
        replace     : true,
    },
}

有关详细信息,请参阅here