3

我有一个应用程序需要根据状态更改 API 命名空间。为了说明这一点,这里有一些 api 端点:

/groups     (lists all groups)
/foo/users  (lists all users in group foo)
/bar/users  (lists all users in group bar)

我导航到foo路线,然后单击用户链接。如何动态更改用户的命名空间?

更新 这里是一些代码。我还在摸索 Ember,我的 JS 知识也有点不稳定。

我使用我已经子类化的 ember-data RESTAdapter。最重要的是我有这个:

App.RESTAdapter.reopen({
  url: "http://127.0.0.1:5001"
});

这很好用,所以我想将以下内容放入控制器中

App.GroupRoute = Em.Route.extend({
  setupController: function(controller) {
    App.RESTAdapter.reopen({url:"http://127.0.0.1:5000", namespace: 'blah'});
    controller.set('model', App.User.find());
  }
});

但这没有什么区别。据我了解,在初始化控制器时更改命名空间是最有意义的(因为在那个阶段我已经知道命名空间应该是什么),但我不确定如何实现它

更新 2

我已经设法让它与以下代码一起工作。这是最好的方法吗?

var id = window.App.__container__.lookup('controller:group').get('id');
App.RESTAdapter.prototype.namespace = id;`` 
4

0 回答 0