最近我遇到了EmberJS。有几个问题,我在文档中找不到答案。
授权用户在页面加载时从/ api / profile检索服务器中的数据。但是,如果我尝试通过ember api方法执行此操作,则会收到api / profiles的请求。如何进行正确的查询?我需要获取用户结构,将其保存在“配置文件”模型中并在路由和组件中使用它。
假设第一个问题涉及。接下来是模板的问题。有根应用程序模板。有“nav-bar”组件,它指示授权用户的名称。那么,如何将用户数据模型放在这个组件中呢?此模板不在路线中。这是{{nav-bar}}模板,所以我需要将用户方案传递给它。
<div id = "wrapper"> {{nav-bar}} {{outlet}} </div>
我想也许我在Embers的架构中没有得到什么,请帮助我!
提前谢谢!
答案 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),它可以帮助你处理用户身份验证。我建议你在进入它之前先看看它。