如何构建此应用程序以避免向服务器发出冗余请求?

时间:2013-07-02 00:01:24

标签: javascript ember.js ember-data

免责声明:我是新手。

我正在努力弄清楚如何最好地构建我的应用程序并在最后几个下午一直在使用它。我正在努力将一个大型现有应用程序移植到ember上,主要是为了学习框架。

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

要获得一般的想法,请使用小提琴上注明的电子邮件和密码登录,然后单击其中一个项目名称。

这是我遇到麻烦的地方:

  • 我设置topBar控制器/视图/模板的方式,每次访问项目时,ember-data都会向我的api的/projects端点发出新的请求。这是为什么?有什么更好的方法来构建它?

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

1 个答案:

答案 0 :(得分:2)

  

我设置topBar控制器/视图/模板的方式,每次访问项目时,ember-data都会向我的api的/ projects端点发出新的请求。这是为什么?

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

有什么更好的方法来构建它?

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

  

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

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