Ember JS 从路由调用组件函数
Ember JS Call component function from the route
我有一个组件,上面有一张地图。单击此地图时,将执行空间查询并返回数据。数据通过动作向上传递到路由以更新模型。
此时,用户可以 select 这些行中的任何一行,当他们这样做时,我希望能够通知地图组件哪个项目已 selected。目前,当点击操作发生时,我从 {{my-grid}} 获取信息。这就是我被困的地方。我将如何让组件 {{my-mapview}} 知道已从路线中点击了第 X 行?
我是 ember(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({
});
只需将当前选择的项目向下传递到地图。喜欢{{my-mapview currentlySelected=currentlySelected}}
。然后只需在控制器上设置 currentlySelected
属性,然后访问组件上的 currentlySelected
属性 即可显示任何内容。
我有一个组件,上面有一张地图。单击此地图时,将执行空间查询并返回数据。数据通过动作向上传递到路由以更新模型。
此时,用户可以 select 这些行中的任何一行,当他们这样做时,我希望能够通知地图组件哪个项目已 selected。目前,当点击操作发生时,我从 {{my-grid}} 获取信息。这就是我被困的地方。我将如何让组件 {{my-mapview}} 知道已从路线中点击了第 X 行?
我是 ember(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({
});
只需将当前选择的项目向下传递到地图。喜欢{{my-mapview currentlySelected=currentlySelected}}
。然后只需在控制器上设置 currentlySelected
属性,然后访问组件上的 currentlySelected
属性 即可显示任何内容。