Ember 具有动态路段名称的路线
Ember route with dynamic segment name
我刚开始使用 Ember JS 和 Ember CLI 并试图找出这个路由问题。我有一个包含许多游戏模型的组模型。通过以下路线,我可以很好地显示组 URL:
中的游戏
Router.map(function() {
this.resource("groups", function() {
this.route('show', {path: ':group_id/show' });
});
});
这会导致 URL 的形式为:
http://localhost:4200/groups/1/show
假设组名之一是"wizards"。我希望能够按以下形式构建一个 URL 并呈现属于 "wizards" 的所有游戏:
http://localhost:4200/wizards
如有任何提示,我们将不胜感激。
正如@blessenm 在评论中指出的那样,您的路由器将从
Router.map(function() {
this.resource("groups", function() {
this.route('show', {path: ':group_id/show' });
});
});
至
Router.map(function() {
this.resource("group", { path: ':group_name'});
});
this.resource()
或 this.route()
的第二个参数是可选的。如果你没有传递任何东西 - 它假定与你的 route/resource (组,在你的情况下)相同的名称。如果您传入具有 path:
键的对象 - 您指定路由的 url 是什么,包括动态段。有关此的 Ember 文档,请参阅 here。
我刚开始使用 Ember JS 和 Ember CLI 并试图找出这个路由问题。我有一个包含许多游戏模型的组模型。通过以下路线,我可以很好地显示组 URL:
中的游戏Router.map(function() {
this.resource("groups", function() {
this.route('show', {path: ':group_id/show' });
});
});
这会导致 URL 的形式为:
http://localhost:4200/groups/1/show
假设组名之一是"wizards"。我希望能够按以下形式构建一个 URL 并呈现属于 "wizards" 的所有游戏:
http://localhost:4200/wizards
如有任何提示,我们将不胜感激。
正如@blessenm 在评论中指出的那样,您的路由器将从
Router.map(function() {
this.resource("groups", function() {
this.route('show', {path: ':group_id/show' });
});
});
至
Router.map(function() {
this.resource("group", { path: ':group_name'});
});
this.resource()
或 this.route()
的第二个参数是可选的。如果你没有传递任何东西 - 它假定与你的 route/resource (组,在你的情况下)相同的名称。如果您传入具有 path:
键的对象 - 您指定路由的 url 是什么,包括动态段。有关此的 Ember 文档,请参阅 here。