wil*_*amt 17 ember.js ember-cli
我正在尝试使用Ember CLI定义这样的资源和路由.
this.resource('events', function() {
this.route('view', { path: "/:id"})
});
Run Code Online (Sandbox Code Playgroud)
如果我试试这个:ember g resource events/view我明白了:
this.resource('events/view', { path: 'events/views/:events/view_id' });
Run Code Online (Sandbox Code Playgroud)
如果我试试这个:ember g resource events
和:ember g resource events/view
this.resource('events', { path: 'events/:events_id' });
this.resource('events/view', { path: 'events/views/:events/view_id' });
Run Code Online (Sandbox Code Playgroud)
如果我试试这个:ember g resource events
和:ember g route events/view
this.resource('events', { path: 'events/:events_id' });
this.route('events/view');
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
jac*_*arm 19
此时,使用Ember CLI中的默认蓝图不会自动生成所需模式中的嵌套资源和路由.默认蓝图生成骨架文件和文件结构,有些使用afterInstall钩子更新其他文件.按照这些默认蓝图,您正在生成以下项目:
ember g resource events
ember g route events/view
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用预期的嵌套修改router.js中的Router.map:
Router.map(function() {
this.resource('events', function() {
this.route('view', { path: "/view/:id" });
})
});
Run Code Online (Sandbox Code Playgroud)
您现在应该能够在浏览器中点击"events/view/1",并在Ember Inspector的 Routes选项卡中查看您一直在寻找的路线.
或者,您可以执行以下操作,并生成自定义蓝图:
ember generate blueprint nested-resource-route
Run Code Online (Sandbox Code Playgroud)
将在项目根目录中创建一个蓝图目录,其中包含新的蓝图.使用资源和路线蓝图作为基础,您可以使用自己的发电机来完成您所寻求的目标.
Ian*_*nVS 11
你想要的行为可以在ember-cli 0.1.5及更高版本中使用.从发行说明:
#2748改进了路由器生成器以支持正确嵌套的路由和资源,以前如果你有类似的路由:
Run Code Online (Sandbox Code Playgroud)Router.map(function() { this.route("foo"); });你做
ember g route foo/bar了生成的路线Run Code Online (Sandbox Code Playgroud)Router.map(function() { this.route("foo"); this.route("foo/bar"); });现在它保持正确管理嵌套路由,结果如下:
Run Code Online (Sandbox Code Playgroud)Router.map(function() { this.route("foo", function() { this.route("bar"); }); });此外,该选项
--path已添加,因此您可以执行以下操作:例如ember g route friends/edit --path=:friend_id/id在以下情况下创建嵌套路由friends:this.route('edit', {path: ':friend_id/edit'})
| 归档时间: |
|
| 查看次数: |
15393 次 |
| 最近记录: |