如何在 Ember 2 中重用路由?
How to reuse routes in Ember 2?
我们有相当复杂的组件 - UserProfile
。
此组件有许多选项卡,每个选项卡都有自己的多个选项卡。
这导致仅为此组件生成大约 20-25 条路由。
现在可以通过多条路由访问该组件。
似乎实现这个的唯一方法是字面上 copy/paste 每个父路由中 UserProfile 的 routes/templates。
是否有可能以某种方式在多个父级之间重用 UserProfile
的路由?
更新:
示例代码。
此处 userdetail
路由是 list
和 board
的子路由。
目前我们必须 copy/paste list
和 board
文件夹下 userdetail
的路由器和模板文件。
Router.map(function() {
this.route('list', function() {
this.route('userdetail',{ path: ':id' });
});
this.route('board', function() {
this.route('userdetail',{ path: ':id' });
});
});
不幸的是,目前在 Ember 中这是不可能的。减少重复的唯一方法是对重复的 routes/templates/controllers/etc.
使用 mixins 和 partials
我在构建的应用程序中也多次遇到这个问题,当你有很多重复的子路由时,它会变得非常混乱。
我们有相当复杂的组件 - UserProfile
。
此组件有许多选项卡,每个选项卡都有自己的多个选项卡。 这导致仅为此组件生成大约 20-25 条路由。
现在可以通过多条路由访问该组件。
似乎实现这个的唯一方法是字面上 copy/paste 每个父路由中 UserProfile 的 routes/templates。
是否有可能以某种方式在多个父级之间重用 UserProfile
的路由?
更新:
示例代码。
此处 userdetail
路由是 list
和 board
的子路由。
目前我们必须 copy/paste list
和 board
文件夹下 userdetail
的路由器和模板文件。
Router.map(function() {
this.route('list', function() {
this.route('userdetail',{ path: ':id' });
});
this.route('board', function() {
this.route('userdetail',{ path: ':id' });
});
});
不幸的是,目前在 Ember 中这是不可能的。减少重复的唯一方法是对重复的 routes/templates/controllers/etc.
使用 mixins 和 partials我在构建的应用程序中也多次遇到这个问题,当你有很多重复的子路由时,它会变得非常混乱。