javascript - 我如何构建这个应用程序以避免向服务器发出冗余请求?

标签 javascript ember.js ember-data

免责声明:我是 ember 新手。

我正在尝试找出如何最好地构建我的应用程序,并且在过去的几个下午一直在研究它。我正在致力于将一个大型现有应用程序移植到 ember,主要作为学习该框架的练习。

为了更好地说明我的问题,我创建了一个包含整个应用程序的 jsFiddle,并由部署在 heroku 上的 API 实例支持:http://jsfiddle.net/dustmason/8fHmn/

要了解总体思路,请使用 fiddle 上注明的电子邮件和密码登录,然后单击项目名称之一。

这是我遇到麻烦的地方:

  • 按照我设置 topBar Controller / View /模板的方式,ember-data 向 /projects 发出新请求。每次访问项目时我的 api 的端点。这是为什么?构建此结构的更好方法是什么?

  • 现在,我将当前用户的身份验证 token 作为属性存储在我的主 App 上。目的。这感觉不对,但我一直找不到避免这种情况的方法。有什么更好的方法来处理这个问题?

最佳答案

The way I have the topBar controller/views/templates set up, ember-data makes a fresh request to the /projects endpoint of my api each time a project is visited. Why is that?

因为 setupController 钩子(Hook)正在调用 App.Project.find(),这会触发查询。

构建此结构的更好方法是什么?

改用App.Project.all()。请参阅Ember-Data .find() vs .all() - how to control cache?

Right now I am storing the current user's auth token as a property on my main App object. This feels wrong, but I've been unable to find a way to avoid this. What is a better way to handle this?

这种方法没有任何问题(有时简单是最好的),但要获得更优雅的解决方案,请查看最新的 embercast:http://www.embercasts.com/episodes/client-side-authentication-part-2

关于javascript - 我如何构建这个应用程序以避免向服务器发出冗余请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17415476/

相关文章:

jquery - 使用 ember.js 和 ember easyform 包装 bootstrap/jquery 小部件

ember.js - 什么是 Ember 数据默认交易?

ember.js - 如何将 Ember 数据与嵌套资源结合使用

javascript - Angular-img-cropper 无法在带有方形图片的方形裁剪上设置裁剪尺寸工具

javascript - 递归函数返回空数组

javascript - 在 Typescript 中将日期时间格式化为 DateString

javascript - 在两个 ID 上使用 one() 运行一次

javascript - Ember js 2 统计相关字段(hasMany)

ember.js - Ember.js 是否支持应用程序路由模型?

ember.js - 回滚删除以处理 Ember.js 中的服务器错误