jqueryオブジェクトからエンバービューを入手してください
質問
私は、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];
}
}
所属していません StackOverflow