私はビューを書きました:
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がコントローラーのインスタンスであり、ビューのインスタンスではないことを除いて、機能しています。
アプリケーションの設計で何か間違ったことをしていると確信しています。関係を切り分けて描画部分をメインコントローラーの外に出したい。コンポーネントを使用する必要がありますか? 再利用できないのでわかりませんが…
ここでいくつかの方向性を示したいと思います。