2013-10-12 31 views

回答

1

您可以使用beforeModelsetupController钩来执行代码加载时的路线。

App.Router.map(function(){ 
    this.resource('posts', { path: '/posts' }, function() {}); 
}); 

App.PostsRoute = Ember.Route.extend({ 
    // http://emberjs.com/api/classes/Ember.Route.html#method_beforeModel 
    beforeModel: function() { 
    console.log("beforeModel fired"); 
    }, 

    // http://emberjs.com/api/classes/Ember.Route.html#method_setupController 
    setupController: function(controller, model){ 
    this._super(controller, model); 
    console.log("setupController fired"); 
    }, 

    model: function(){ 
    // resolve the promise after a short delay 
    return Ember.RSVP.Promise(function(resolve, reject){ 
     setTimeout(function(){ 
     resolve(true); 
     }, 2000); 
    }); 
    } 
}); 

beforeModel会火,顾名思义,之前的模型加载,模型加载后setupController会火。 JSBin中的示例使用延迟加载模型来演示差异。

此示例显示了用于App.Post路线的挂钩,但如果要在加载默认路线时执行代码,则可以在App.ApplicationRoute上使用此挂钩。

JSBin example

1

您首先需要定义一个路由,然后调用一个函数。

了解如何在这里:

http://emberjs.com/guides/routing/defining-your-routes/

+0

这不是工作:App.IndexRoute = Ember.Route.extend({ setupController:功能(控制器){ $( '#认证')显示();} } ) ; –

相关问题