Ember.js 如何在错误操作余烬中呈现未找到的模板
我试图呈现404模板(不是转换),如果我从后端得到的记录没有找到。 我得到了错误 您将控制器:'admin.categories.show'传递到Ember.js 如何在错误操作余烬中呈现未找到的模板,ember.js,Ember.js,我试图呈现404模板(不是转换),如果我从后端得到的记录没有找到。 我得到了错误 您将控制器:'admin.categories.show'传递到render方法中,但找不到这样的控制器 import Ember from 'ember'; export default Ember.Route.extend({ model(params) { return this.store.find('category', params.slug); }, serialize (mo
render
方法中,但找不到这样的控制器
import Ember from 'ember';
export default Ember.Route.extend({
model(params) {
return this.store.find('category', params.slug);
},
serialize (model) {
return {
slug: model.get('slug')
};
},
actions: {
error: function (error, transition) {
console.log('error', error, transition);
this.render('not-found');
}
}
this.render('not-found', {
into: 'application',
outlet: 'main',
controller: 'application'
});
}))
当我试着用控制器把它传给它时,它说
您将controller:'application'
传递到render
方法中,但找不到这样的控制器
import Ember from 'ember';
export default Ember.Route.extend({
model(params) {
return this.store.find('category', params.slug);
},
serialize (model) {
return {
slug: model.get('slug')
};
},
actions: {
error: function (error, transition) {
console.log('error', error, transition);
this.render('not-found');
}
}
this.render('not-found', {
into: 'application',
outlet: 'main',
controller: 'application'
});
假设您使用的是Ember.js 2.4,那么您需要使用钩子,而不是尝试直接调用此.render()。您似乎也遵循了我的理解,即希望开发人员使用Transitiono(),因此创建适当的模板,并检查Ember.js是否在404上自动显示它。如果是这样的话,那么您可以根据error.status自定义模板以显示不同的错误,比如假设您使用的是Ember.js 2.4,那么您需要使用钩子,而不是试图直接调用这个.render()。您似乎也遵循了我理解为希望开发人员使用transitiono()的规则,因此,创建适当的模板,并检查Ember.js是否在404上自动显示该模板。如果有,则可以自定义模板,根据error.status显示不同的错误,如下所示