Как отобразить шаблон 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}}
1 ответ
Как сказал @Gaurav, посмотрите, не забыли ли вы использовать
{{outlet}}
в вашем шаблоне заказов
{{!-- Orders.hbs --}}
{{!-- any content for orders--}}
{{outlet}} {{!-- orders.details will load here--}}
поэтому, если вы не включите {{outlet в свой шаблон заказов, orders.details не загрузится }}