Ember.js控制器破坏了功能

时间:2013-05-07 20:37:10

标签: javascript ember.js

Ember.js上的ObjectController中,有一个函数init()在实例化控制器时触发。当控制器离开上下文时,有没有办法可以触发一些额外的代码?

以下是我在init()中所做的事情:

init: function() {
    jQuery("body").css("background-color", "#f2f1ec");
}

在控制器出口上,或丢失上下文我想再次改变背景颜色:

jQuery("body").css("background-color", "#333333");

感谢。

1 个答案:

答案 0 :(得分:1)

我会创建一个自定义视图并写入didInsertElement上的css更改,而不是在控制器中处理它。在这种特殊情况下,由于您在body元素上运行,您甚至可以在路线的activatedeactivate函数中执行此操作寻找目标。 (如果您在ApplicationRoute上进行此操作可能会出现问题。不确定之前是否输入document.ready()

以下a fiddle使用路由器的activatedeactivate功能。

这是自定义视图的an example