路由器中是否有像“didInsertElement”这样的钩子?

时间:2013-02-01 06:32:54

标签: ember.js ember-router

使用第三方框架,我想设置选定的值。

在ember.js新路由器中将视图插入DOM之后是否有任何挂钩?

1 个答案:

答案 0 :(得分:1)

同意上面的Karl。但是,也许你刚刚以一种糟糕的方式提出这个问题。在新路由器中,您有setupController,当Ember进入该路由时会调用该/#/dashboard。例如,如果您进入DashboardController,那么DashboardViewDashboardRoutedidInsertElement将全部初始化。

除此之外您可以使用DashboardView上的setupController这一事实,您可以使用DashboardRoute方法覆盖setupController。在这里你可以设置控制器,也许做你想做的任何事情:

(只有在您输入路线时才会调用didInsertElement,但是当您移入路线时,视图将不会被渲染。为此,您需要{{1}那就是。setupController用于设置控制器,可以将其视为一个永久性的单例。)

var DashboardRoute = Ember.Route.extend({
    setupController: function(controller) {
        // We're in the route, so let's do something now.
        controller.set('myText', 'Add this to the controller!');
    }
});