emberjs食谱:前/动作过滤器,控制器命名空间,共享对象

时间:2013-02-19 14:19:42

标签: javascript-events filter namespaces ember.js

我们使用rails 4 beta和emberjs 1.0.0rc1开始了一个项目。

我正在寻找以下问题的“食谱”或模式:

  1. 拥有/模拟“过滤器前”,例如在没有当前用户时重定向用户

  2. 拥有控制器和模型命名空间,例如/ admin / videos | / videos | / member / videos用于根据您的角色访问不同的馆藏(管理员/视频仅返回所有视频,/视频仅公开视频和/成员/视频仅用于我的视频......)

  3. 何时何地加载和存储共享对象,例如currentUser?它应该随处可用,比如“rails”current_user(我们现在使用需求或App.set(),但对它不是很满意

  4. 在“文档”DOM元素上捕获事件的最佳方式,而不是emberjs应用程序视图(例如隐藏/显示像facebook用户菜单这样的菜单):我点击icone来显示它,我点击用于隐藏它的DOM文档(有时在我的ember应用程序之外...

2 个答案:

答案 0 :(得分:0)

  1. redirect上有Ember.Route个问题。它记录在网站上。

  2. 我不确定这与客户端应用程序有什么关系。我会在后端想象这种过滤器。

  3. needsApp.inject绝对是您想要的。您应该有一个currentUser控制器,并且需要/将其注入所有控制器。

  4. 也许在ApplicationRoute注册一个处理程序并从那里发送路由器事件。

  5. 一些注意事项:

    应该在任何钩子之外调用

    App.injectApp.register

    App.inject('controller', 'gobalUser', 'controller:currentUser');

答案 1 :(得分:0)

我们正试图这样做:

App.ApplicationRoute = Ember.Route.extend 
  setupController: ->
    App.register('controller:currentUserController', App.CurrentUserController );
    App.inject('controller', 'gobalUser', 'controller:currentUserController'); 

我们得到了这个错误: 未捕获RangeError:超出最大调用堆栈大小