【发布时间】:2013-04-06 10:51:10
【问题描述】:
抱歉,我是 ember.js 的新手。我真正想做的是为管理部分创建一个基于 ember.js 的应用程序。这个应用程序应该只处理管理部分 url http://mydomain.com/admin/(例如:/admin/photos/、/admin/users)其他应该像正常 url 一样工作。我可以用 ember.js 做到这一点吗?
【问题讨论】:
抱歉,我是 ember.js 的新手。我真正想做的是为管理部分创建一个基于 ember.js 的应用程序。这个应用程序应该只处理管理部分 url http://mydomain.com/admin/(例如:/admin/photos/、/admin/users)其他应该像正常 url 一样工作。我可以用 ember.js 做到这一点吗?
【问题讨论】:
您应该使用 Ember 资源来嵌套路由。所以对于你的例子,你想做这样的事情:
AppName.Router.map(function() {
this.resource('admin', function() {
this.route('photos');
this.route('users');
});
});
上面将创建一个/admin/photos 和/admin/users 路由。 mokane 链接到了 Ember 文档中的正确位置,但为了防患于未然,我想将答案放在帖子中,这样即使文档位置发生变化,其他人也能看到答案。
注意:我想在下面的 cmets 中包含 Ugis Ozols 提出的一个重要观点,即在 Ember 中,资源通常是名词,而路线通常是动词。因此,您通常会拥有像 /tweet(这是一个名词)这样的资源,然后是像 create、edit 和 delete 这样的资源的多个路由。
【讨论】:
resource() 和 route() - 一般的经验法则是使用 resource() 表示名词(在这种情况下为 admin、photos 和 users ) 和route() 表示动词new、edit 或形容词favorites 或starred Getting into Ember.js: The Next Steps blog post。
是的,你可以。查看 ember.js 文档的此部分以获取更多信息:http://emberjs.com/guides/routing/defining-your-routes/
【讨论】: