如何解决如何为嵌套的动态路由渲染 ember 模板?
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}}
解决方法
正如@Gaurav 所说,看看您是否没有忘记在订单模板中使用 {{outlet}}
{{!-- Orders.hbs --}}
{{!-- any content for orders--}}
{{outlet}} {{!-- orders.details will load here--}}
因此,如果您的订单模板中不包含 {{outlet ,则 orders.details 将不会加载 }}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。