我很难使用带有pod结构的slu ..特别是当我尝试直接进入列表页面时,它不起作用。 Slug是模型中的计算属性。
ember -v: 版本:1.13.1, 节点:0.12.7, npm:2.12.1,
应用程序/列表/显示/ route.js
export default Ember.Route.extend({
model(params) {
console.log('MODEL params.pageslug', params.page_slug);
var listings = this.modelFor('listings');
return listings.findBy('slug', params.page_slug);
},
serialize(model, params) {
console.log('SERIALIZE model slug', model.get('slug'));
return { page_slug: model.get('slug') };
}
});
应用程序/ router.js
Router.map(function() {
this.route('listings', function() {
this.route('show', { path: ':page_slug' });
});
});
当我直接进入/ listings / slug时,我看不到任何控制台日志。 Ember给出Preparing to transition from '' to ' not-found'
Transitioned into 'not-found'
(未找到我们的404路线)
当我直接进入/ listings / listing_id(即:/ listings / 1)时,我看到我的MODEL日志,其中params.page_slug为'1',并且加载了正确的页面而没有任何模型属性。 Ember提供了Preparing to transition from '' to ' listings.show'
Transitioned into 'listings.show'
如果我要去/ listing然后点击列表,我的SERIALIZE日志会显示正确的slug值,但没有模型日志。所以它似乎是跳过我的model()函数(我假设因为模型已经从/ listing中给出)
我觉得我在这里误解了一些简单的东西。