Ember.js:非标准路由,请输入

时间:2013-03-08 21:43:54

标签: ember.js

我们正在构建的应用程序将包含几个较小的子应用程序。

/ <-- main application
/accounts <-- sub app
/reports <-- sub app
/contacts <-- sub app

我们将利用Django路由将用户引导到每个子应用程序。因此,当用户点击网站的主页时,它是纯粹的Django。当他们点击帐户时它是纯粹的Django。当用户登陆每个子应用程序页面时,Ember将接管并从那里开始。

当用户访问帐户子应用时,我将用户转换为帐户路由:

Social.IndexRoute = Ember.Route.extend({
    redirect: function() {
        this.transitionTo('accounts');
    }
});

其网址如下:

/accounts/#/accounts/27

我想要做的是在用户访问基本上是索引页面时加载帐户信息。其中包含属于该用户的帐户列表。当他们选择我想要链接到帐户路线的帐户时:

/accounts/#/account/27

我将如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以在路由器上设置rootURL,然后应用程序将很乐意存在于子目录中。

Social.Router.map(function() {
  this.resource('accounts');
});

Social.Router.reopen({
  location: 'hash',
  rootURL: '/accounts'
});

Social.IndexRoute = Ember.Route.extend({
  redirect: function() {
    this.transitionTo('accounts');
  }
});