我一直在倾向于Ember的文档,虽然他们做得很好,但他们似乎缺乏将所有部分组合在一起的食谱。如果我有一个可以添加到我的购物车的商品列表,我正在尝试构建一个列出商品的页面(这已经完成并正常工作)但我想要一个侧边栏,显示我购物车中的所有商品。
我有以下路线:
export default Router.map(function() {
this.route('index');
this.route('items');
this.route('cart');
});
export default Ember.Route.extend({
model() {
return this.store.find('item');
}
});
export default Ember.Route.extend({
model() {
return this.store.find('cart');
}
});
现在,我不知道如何在一个模板上展示我的商品和购物车;实质上,为单个模板/
调用2个路由答案 0 :(得分:2)
这是使用数据获取组件的好例子。
在我看来,通过路由检索的数据是由URL引导的数据(在您的情况下我怀疑它是items
)。购物车更像是与网站无关的状态。
我会构建一个CartComponent
,它将自己的store
实例作为服务注入。
顺便说一下,我最近写过这个确切的情况。如果您有兴趣继续这条路线(没有双关语!),请查看http://emberigniter.com/should-components-load-data/
答案 1 :(得分:1)
您可以使用whereKey:matchesQuery:
在路线中引用其他路线的模型。
例如,您可以执行以下操作:
modelFor
文档链接:http://emberjs.com/api/classes/Ember.Route.html#method_modelFor