这是我的问题,假设我有一个ember应用程序与以下ember路由配置:
Router.map(function() {
this.route('todos', function() {
this.route('new');
this.route('view', {
path: "/:id"
});
});
this.route('articles', function() {
this.route('view', {
path: "/:id"
});
this.route('new');
});
});
现在,我想根据要获取的一些用户信息为每个路由添加前缀。例如:下面是两个用户信息
dev = {
id: 1,
workspace: 'DEV'
}
qa = {
id: 2,
workspace:'TEST'
}
一旦dev
在应用程序中登陆,route必须如下所示:待办事项:
/DEV/todos/new
对于其他用户也是如此。一旦qa
登陆到页面中,路由必须如下所示:
/TEST/todos/new
为了解决这个问题,我知道我们生成父路由并添加所有其它路由作为子路由,需要改变这种情况下的文件结构。
以下是Ember:
ember-cli: 2.13.3,
ember-data: 2.18.5
1条答案
按热度按时间ut6juiuv1#
这是直接在Ember.js中使用路由器的路径,因为URL路径可以很容易地定制。
对于您的情况,
todos
路由应该有一个动态段(比如workplace
),因此路由器条目将如下所示:如果您正在使用
this.transitionTo('todos.new', 'TEST')
转换到新的待办事项页面,则URL将更新为TEST/todos/new
。This twiddle有一个很小的演示。希望对你有帮助:)