【发布时间】:2015-06-12 12:29:22
【问题描述】:
假设我们在应用中对存储库进行建模。我们希望能够在 /repos/ 上看到我们所有的 repo。
我们可以在 /repos/create 创建一个 repo。在我们的模型中,repo 有一个所有者(用户),沿着这条路线我希望我的 create.hbs 模板中的第一个表单字段选择一个用户。
但通过在 /users/userId/repos 上查看用户来创建 repo 也可能是有意义的,然后路由可能是 /users/userId/repos/create。这里的不同之处在于我的表单的第一个字段将预先填充用户。
我知道我可以通过在我的路由中指定这个来重用同一个控制器:
controllerName: 'repos/create'
(对于这条复杂的路线,ember generate 语句/将这条路线放在我的文件夹结构中的位置是什么?)
但是我如何将用户传递给 repos/create 控制器?
【问题讨论】:
-
不是一个真正的答案,所以添加评论:根据我自己的经验,尝试重用控制器/路由是不值得的。最终,您最终希望在每个行为中都有一些自定义行为,并且您必须撤消所做的所有工作。我可以建议您单独创建它们吗?然后,如果您真的想要一些共享行为,并且您已经注意到很多代码重叠,请创建一个 Mixin,然后将其混入。
-
我建议您对表单使用可重用组件。如果您阅读有关准备 ember 2.0 的信息,您可能只想使用三元组(路由、控制器(仅用于处理路由模板)、模板)和大量可重用组件。三元组很快就会成为可路由的组件。
-
在 ember 2.0 @Artych 中您有更多详细信息的链接吗?这是他们从 MVC 迁移到 Model-Route-Component-Service 的一部分吗?
-
gist.github.com/samselikoff/1d7300ce59d216fdaf97(带对话),这不是教程,但很有帮助