我写了一个观点:
export default Ember.View.extend({
select: null,
modify: null,
createSelect: function() {
return new ol.interaction.Select();
},
onMapCreated: function() {
this.select = this.createSelect();
this.modify = this.createModify();
},
init: function() {
this._super();
this.get('controller').addObserver('olMap', this.onMapCreated);
},
});
该视图被添加到与具有olMap属性的控制器相关的模板中。在我的视图中做一些工作之前,我需要等待olMap属性被实例化。
上面的代码有点工作,除了onMapCreated函数中引用的this是控制器的实例而不是视图的实例。
我很确定我在应用程序的设计中做错了什么。我想分离关注点并将绘图部分放在主控制器之外。我应该使用组件吗?不确定,因为它不会被重复使用...
我很想在这里有一些方向。