我想通过 url 访问子路线,例如:DbContextOptionsBuilder
。当我单击此按钮时,Ember将我重定向到https://my-app.com/dashboard/library
并正确填充此路线的模型数据,但我想使用新模型数据转到https://my-app.com/dashboard
。
另一方面,我可以通过网址访问https://my-app.com/dashboard/library
,但没有模型数据。
在https://my-app.com/login
,我有environment.js
,而我的locationType: "auto"
就像:
router.js
我的路线:
Router.map(function() {
this.route('login');
this.route('dashboard', function() {
this.route('child', {path: '/child/:child_id'});
this.route('library');
});
});
还有
// Route: dashboard
import Ember from 'ember';
import RouteHistoryMixin from 'ember-route-history/mixins/routes/route-history';
export default Ember.Route.extend(RouteHistoryMixin, {
model: function() {
let userId = this.authentication.getPlayerId();
let actions = this.store.findAll('action');
return Ember.RSVP.hash({
actions: actions,
tasks: Ember.RSVP.all([actions]).then((actions) => {
return this.store.findAll('task')
}),
rank: this.store.findAll('rank')
});
},
afterModel: function(){
this.transitionTo('dashboard.index'); // needless
},
setupController(controller, model) {
this._super(...arguments);
Ember.set(controller, 'tasks', model.tasks);
Ember.set(controller, 'rank', model.rank);
}
// . . .
可能是配置标志或路由器配置问题?
我该如何通过url访问此子路由,或者您中的任何人遇到了类似的情况?
答案 0 :(得分:1)
我认为问题出在仪表板上。在afterModel
钩子处:
afterModel: function(){
this.transitionTo('dashboard.index'); // needless
}
每次调用dashboard.index
路由时,此部分都会重定向到dashboard
。请记住,dashboard.index
是与child
和library
相同的子路线,因此您永远都不会到达它们。