0

我是否能够从函数内部进行路由。例如,如果用户按下注销链接,我会在 accountController 中调用注销函数,我也希望这会导致显示主视图,因为如果用户在个人资料页面上,则需要返回到默认页面。

 App.accountController = Em.ArrayController,create({
     logout: ->
         #do stuff to logout the person
         ...

         App.Router ( NEED TO TRANSITION TO HOME )
 })

所以,我想从这里明确地调用我的路由器,让用户回到主视图。

4

3 回答 3

4

如果您从多个地方执行此操作,我建议在相互父路由上创建一个函数(我使用 root,因为所有内容都继承自它)并调用send路由器

App.Router = Ember.Router.extend({
   root: Ember.Route.extend({
     goToHome: Ember.Route.transitionTo("root.home")
     //// Rest of route
     home: Ember.Route.extend({
     ////

在您的控制器中使用:

App.router.send("goToHome")
于 2012-09-29T12:32:52.477 回答
0

然后只需将您的路由器转换到该状态即可。类似于: App.get('router').transitionTo('root');

于 2012-09-29T08:47:46.833 回答
0

是的,你可以这样做。您可以通过 App.get('router') 获取路由器实例。

App.get('router').transitionTo('homeView')
于 2012-09-29T07:42:40.023 回答