如何在Emberjs中组织api请求?

时间:2016-05-25 14:37:59

标签: javascript api ember.js

最近我遇到了EmberJS。有几个问题,我在文档中找不到答案。

  1. 授权用户在页面加载时从/ api / profile检索服务器中的数据。但是,如果我尝试通过ember api方法执行此操作,则会收到api / profiles的请求。如何进行正确的查询?我需要获取用户结构,将其保存在“配置文件”模型中并在路由和组件中使用它。

  2. 假设第一个问题涉及。接下来是模板的问题。有根应用程序模板。有“nav-bar”组件,它指示授权用户的名称。那么,如何将用户数据模型放在这个组件中呢?此模板不在路线中。这是{{nav-bar}}模板,所以我需要将用户方案传递给它。

    <div id = "wrapper"> {{nav-bar}} {{outlet}} </div>
    
  3. 我想也许我在Embers的架构中没有得到什么,请帮助我!

    提前谢谢!

1 个答案:

答案 0 :(得分:0)

第一个问题。我想你试图做这样的事情来获取你的个人资料:

this.get('store').findAll('profile')

默认情况下,Ember将根据JSON API规范格式化您的HTTP请求(请参阅http://jsonapi.org/)。 JSON API定义了profile资源应该可以在GET api/profiles上访问。

Ember允许您自定义适配器,也就是处理与API通信的部分。本指南将帮助您自定义适配器以适合您的API:https://guides.emberjs.com/v2.4.0/models/customizing-adapters/

关于您的nav-bar组件。您可以通过以下方式将变量传递给组件:

{{nav-bar user=myUser}}

其中myUser是控制器中调用组件的变量,user是组件上下文中变量的名称。

有一个很棒的库叫做ember-simple-auth(https://github.com/simplabs/ember-simple-auth),它可以帮助你处理用户身份验证。我建议你在进入它之前先看看它。