从jQuery对象获取余烬视图
我知道如何从DOM中的Ember视图构造jQuery对象:从jQuery对象获取余烬视图,jquery,ember.js,Jquery,Ember.js,我知道如何从DOM中的Ember视图构造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"> <!
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>
从dom元素获取组件实例怎么样?--我注意到它没有id。我应该指定一个吗?@shaunc:我在一个组件上测试了上述方法。由于
组件
是一个视图
子类,因此它应该有一个id,并出现在Ember.View.views
中。从Ember 1.13开始,必须通过视图注册表获取视图:容器。查找('-View registry:main')[id]
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];
}
}