Ember控制器生命周期挂钩

时间:2014-08-08 00:11:06

标签: ember.js

我知道有一个init挂钩,但似乎该视图在该阶段没有正确设置。一旦从控制器正确设置屏幕,我需要挂钩事件。

所有控制器和路由生命周期挂钩的文档在哪里。我找到了仅适用于View的那些:

didInsertElement 
parentViewDidChange 
willClearRender 
willDestroyElement 
willInsertElement

2 个答案:

答案 0 :(得分:1)

在余烬控制器中,生命周期的定义不是很明确,因为除了将变量提供给模板之外,控制器的作用不大。

控制器几乎没有两个钩子

  1. init -使用默认值初始化,仅调用一次。
  2. willDestroy -钩住任何视图拆卸

在进入路径和离开路径时,路由器挂钩可以有两种类型。

路由器挂钩

启动挂钩

  1. beforeModel
  2. 模型
  3. afterModel
  4. 重定向
  5. 激活
  6. setupController
  7. renderTemplate

关机挂钩

  1. 停用

  2. resetController

答案 1 :(得分:0)

您可以在视图中使用didInsertElement。保证在DOM元素插入页面后执行。

请注意,只保证插入视图(根元素),如果您计划为该视图添加事件或DOM操作,则必须使用afterRenderEvent技术。阅读afterRenderEvent technique。我使用的mixin:after render mixin

编辑: 从1.8.0-beta.1开始,didInsertElement已经改变,它等待直到它在视图的最后一个孩子中触发,然后从那里起泡。之后渲染mixin不再是必需的。