我有一个有地图的组件。单击此映射时,将执行空间查询并返回数据。数据通过操作传递到路径以更新模型。
此时用户可以选择任何这些行,当他们这样做时,我希望能够通知地图组件选择了哪个项目。目前,当点击操作发生时,我从{{my-grid}}获取信息。这是我被困的地方。我如何让组件{{my-mapview}}知道从路径中点击了行X?
我很贪图(2周),所以请随时纠正任何糟糕的设计问题。
//Component (my-mapview)
import Ember from 'ember';
export default Ember.Component.extend({
mapView: null,
actions:{
onMapviewClicked){
let data = mapView.Query();
this.sendAction('identified', data);
}
}
});
//Route (application.js)
export default Ember.Route.extend({
model: function() {
return {
identifiedData:[],
};
},
actions:{
onItemsIdentified(data){
let model = this.get('currentModel');
Ember.set(model, 'identifiedData', data);
}
}
});
//Template application.hbs)
{{my-mapview identified='onItemsIdentified'}}
{{my-grid}}
//Component (my-grid)
import Ember from 'ember';
export default Ember.Component.extend({
});
答案 0 :(得分:1)
只需将当前选中的项目向下传递到地图即可。像{{my-mapview currentlySelected=currentlySelected}}
一样。然后只需在控制器上设置currentlySelected
属性,并访问组件上的currentlySelected
属性以显示您想要的任何内容。