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');
    }
});

它的URL如下所示:

/accounts/#/accounts/27

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

/accounts/#/account/27

我该怎么做呢?

最佳答案 您可以在路由器上设置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');
  }
});
点赞