Ember.js 路由器在单页应用程序中的作用是什么

Ember.js 路由器在单页应用程序中的作用是什么,ember.js,single-page-application,Ember.js,Single Page Application,我是Ember js的新手,最近我浏览了一些博客文章,还看到了Tom dale介绍Ember js的视频 总而言之,他们说路由器Api是新引入的,这是Ember js遇到的最好的事情,路由器Api用于管理应用程序的状态,每个状态都用URL标识,现在对于单页应用程序,我们只使用一个URL,路由器的作用是什么,是否只有一个路由条目映射到“/”(索引)?如果是,那么我们就失去了路由器api提供的优势,对吗 现在对于一个单页应用程序,其中我们只使用一个URL,路由器的角色是什么,是否只有一个路由条目映射

我是Ember js的新手,最近我浏览了一些博客文章,还看到了Tom dale介绍Ember js的视频

总而言之,他们说路由器Api是新引入的,这是Ember js遇到的最好的事情,路由器Api用于管理应用程序的状态,每个状态都用URL标识,现在对于单页应用程序,我们只使用一个URL,路由器的作用是什么,是否只有一个路由条目映射到“/”(索引)?如果是,那么我们就失去了路由器api提供的优势,对吗

现在对于一个单页应用程序,其中我们只使用一个URL,路由器的角色是什么,是否只有一个路由条目映射到“/”(索引)

通常,单页应用程序仍将使用url。例如,在使用gmail时观察url的变化。因此,在这种情况下,单页应用程序意味着浏览器不会在url更改时获取新页面。像gmail一样,典型的ember单页应用程序将在用户导航到应用程序的各个部分时更改url。余烬路由器会自动处理这一问题

如果是,那么我们就失去了路由器api提供的优势,对吗

如果您决定不使用url,并且真的希望它一直保持“/”状态,那么您仍然可以使用路由器。只需将路由器的位置类型设置为“无”

我理解这里的路由意味着管理状态,但在任何时候用户都可能处于一组状态,例如gmail,用户将处于登录状态和组合状态,如何管理同时存在的多个状态

当然这是真的。ember路由器基本上是一个状态图,其中路由(叶节点)嵌套在一些资源下。因此,以gmail为例,只有登录用户才能处于撰写状态

GMail网址:
https://mail.google.com/mail/u/0/?shva=1#inbox

// Gmail Routes:
* /mail - the mail application
* /u/0 - connected account index 0 for the current user
* ?shva=1 - http://stackoverflow.com/questions/1692968/what-is-shva-in-gmails-url
* inbox - folder name
// EmberMail Routes
this.resource('mail', { path: '/mail' }, function() {
  this.resource('currentUser', { path: '/u' }, function() {
    this.resource('account', { path: '/:account_id' }, function() {
      this.route('folder', { path: '/:folder_id' });
    });
  });
});
邮件版本:
https://mail.ember.com/mail/u/0/inbox

// Gmail Routes:
* /mail - the mail application
* /u/0 - connected account index 0 for the current user
* ?shva=1 - http://stackoverflow.com/questions/1692968/what-is-shva-in-gmails-url
* inbox - folder name
// EmberMail Routes
this.resource('mail', { path: '/mail' }, function() {
  this.resource('currentUser', { path: '/u' }, function() {
    this.resource('account', { path: '/:account_id' }, function() {
      this.route('folder', { path: '/:folder_id' });
    });
  });
});
你能给我指出一个广泛使用路由的示例应用程序吗

我所知道的最好的例子就是话语。查看以下示例,了解大型ember应用程序如何使用ember路由器:

  • 论述

  • 论述


关于余烬的一个很好的解释可以在感谢答案中找到,我理解这里的路由意味着管理状态,但在任何时候用户都可能处于一组状态,例如,以gmail为例,用户将处于登录状态和撰写状态,如何管理同时存在的多个状态?,你能给我指出一个广泛使用路由的示例应用程序吗。