繁体   English   中英

ember.js:每次访问控制器时执行操作

[英]ember.js: perform action every time controller is visited

在我的Ember应用程序中,我正在使用全局变量来跟踪重要状态(无论用户是否打开了项目)。 用作绘制其他视图(例如导航菜单)时的条件。

现在,我有像这样设置全局变量的控制器:

App.ProjectsOverviewController = Ember.ObjectController.extend
  needs: ["application"]
  init: ->
    @set("controllers.application.isProjectSet", true)

但这仅在用户第一次访问该控制器时发生。 我如何才能每次都做到这一点,而不仅是在初始init

或者,如果有人可以在Ember提供的工具中提出更好的方法,我当然会很感激。

经过更多的实验后,我认为这在Route#activate上执行时会起作用:

App.ProjectsOverviewRoute = Ember.Route.extend
  model: (params) ->
    @store.find("project", params.project_id)
  activate: ->
    @controllerFor("application").set("isProjectSet", true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM