jqueryオブジェクトからエンバービューを入手してください

StackOverflow https://stackoverflow.com/questions/9397574

  •  29-10-2019
  •  | 
  •  

質問

私は、domにあるエンバービューからjqueryオブジェクトを構築する方法を知っています:

App.myView = Ember.View.extend({
  elementId: "my_view",

  didInsertElement: function(){
    console.log(this.$().attr('id'))  // outputs 'my_view'
  }
});


<!-- HTML output -->

<div id="my_view">
   <!--  ...   -->
</div>

逆をするのはどうですか。 jQueryオブジェクトが与えられた場合、対応するEmberビューオブジェクトを取得するにはどうすればよいですか。

function(selector){
   $el = $(selector);
   // ???
}
役に立ちましたか?

解決

function getClosestEmberView($el) {
  var id = $el.closest('.ember-view').attr('id');
  if (!id) return;
  if (Ember.View.views.hasOwnProperty(id)) {
    return Ember.View.views[id];
  }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top