Я начинаю с Ember.js, поэтому я взял курс Codeschool «Try Ember». Поэтому, следуя этому курсу, я действительно получаю сообщение об ошибке.Ember.js 2.9 простая ошибка вложенных маршрутов при полной перезагрузке страницы
Мой router.js
файл выглядит следующим образом:
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('orders', function(){
this.route('order', {path: '/:order_id'});
});
});
export default Router;
Теперь, насколько я понимаю из учебника у меня есть два пути orders.js
и order.js
с шаблонами templates/orders.hbs
и templates/orders/order.hbs
соответственно.
orders.js
файл:
import Ember from 'ember';
export default Ember.Route.extend({
model(){
return [
{ id: '1', name: 'Vlatko'},
{ id: '2', name: 'Mila'}
];
}
});
order.js
файл:
import Ember from 'ember';
export default Ember.Route.extend({
model(params){
return [
{ id: '1', name: 'Vlatko'},
{ id: '2', name: 'Mila'}
].findBy('id', params.order_id);
}
});
templates/orders.hbs
файл:
<h2>Hello from orders</h2>
{{#each model as |order|}}
<p>
{{#link-to 'orders.order' order}}
Order {{order.id}}
{{/link-to}}
</p>
{{/each}}
{{outlet}}
templates/orders/order.hbs
файл:
<p>Order {{model.id}} for {{model.name}}</p>
Так что все довольно просто и работает хорошо, но когда я пытаюсь сделать полный перезагрузки страницы (вводится непосредственно на странице) /orders/1
это вызывает две ошибки
Error while processing route: orders.order No model was found for 'order' Error: No model was found for 'order'
и
Error: No model was found for 'order'
Теперь я много искал в Интернете, и я не могу найти ту же ошибку.
Дополнительный совет: Это происходит только при использовании вложенных маршрутов. Если, например, у меня есть что-то подобное в моей router.js
:
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
this.route('orders');
this.route('order', {path: '/orders/:order_id'});
});
export default Router;
я не получаю сообщение об ошибке.
Благодарим вас за ответ. Чистая логика. –