Как отобразить шаблон 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 не загрузится }}

Другие вопросы по тегам