나는 Ember.js의 초심자이기 때문에 코드 스쿨 코스 'Try Ember'를 사용했습니다. 따라서이 과정을 마치면 실제로 오류가 발생합니다.Ember.js 전체 페이지를 다시로드 할 때 간단한 중첩 경로 오류
내 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
각각 템플릿
templates/orders.hbs
및
templates/orders/order.hbs
와
order.js
있습니다.
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;
을 나는 오류를 얻을 수 없습니다.
답변 해 주셔서 감사합니다. 순수한 논리. –