0

canvas 要素を利用する Ember アプリケーションがあります。私は次のモデルを使用しています:

キットには多くの位置があります多くのコンポーネントがあります多くの機能があります

最初のキットのモデル データをロードするマップ ルート オブジェクト:

App.MapRoute = Ember.Route.extend({

  model : function() {
    return App.Kit.find(1);
  },

  setupController: function(controller, model){
    this._super(controller, model);
  }
});

そして、このルートのキャンバス要素ビュー

<script type="text/x-handlebars"  data-template-name="application">
  {{outlet}}
</script>

<script type="text/x-handlebars"  data-template-name="map">
  {{view App.CanvasView }}
</script>

キャンバス ビュー:

App.CanvasView = Ember.View.extend({
  tagName: 'canvas',
  width: 600,
  height: 600,

  didInsertElement: function(){
   var el = this.$();

   // Pseudo Code
   // When all kit, Position, Component and Feature Data is loaded
   // Pass Data to createFabricCanvas
   // this.createFabricCanvas(el, data);

  },

  createFabricCanvas: function(el, data){
    fabCanvas = new fabCanvas(el, data);
  }
});

私の質問は、各 hasMany モデルのすべてのデータが fabCanvas に渡される前に確実に読み込まれるようにするにはどうすればよいかということです。FabCanvas ライブラリは事前に作成されており、すべてのデータが処理前に利用可能であることを前提としています。

解決策には、.on('didLoad') を使用して各モデルの存在を確認することが含まれる可能性があると思います。

ありがとう。

4

2 に答える 2