js`,我已经声明了一些这样的嵌套路由:
Router.map(function() {
this.route('index', { path: '/' })
this.route('orders', function() {
this.route('details', { path: '/:order_id' });
});
this.route('not-found', { path: '/*path' });
});
这里的orders.details
模板没有渲染,但它会转到正确的路由文件,这是路由文件:
import Route from '@ember/routing/route';
export default Route.extend({
model(params) {
const { order_id } = params;
console.log('params', params);
return order_id;
},
renderTemplate() {
this.render('orders/details')
}
});
这不会渲染orders/details
模板,它总是转到orders
模板。这是我的orders/details.hbs
模板:
<h2>Order {{this.model}}</h2>
{{outlet}}
这是我导航到路线的方式:
{{#link-to 'orders.details' order.id}}{{order.description}}{{/link-to}}