0

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

这是我在做的事情init()

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

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

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

谢谢。

4

1 回答 1

1

我将创建一个自定义视图并编写对 css 进行更改didInsertElement而不是在控制器中处理它。在这种特殊情况下,由于您正在对body元素进行操作,因此您甚至可以在您要定位的路线的activate和函数中进行操作。deactivate(如果你这样做可能会出现问题ApplicationRoute。不确定之前输入的是否是之后document.ready()

这是使用路由器和功能的小提琴。activatedeactivate

这是自定义视图的示例

于 2013-05-08T16:51:47.720 回答