Ember.js 访问方法,如在视图的didInsertElement中获取

Ember.js 访问方法,如在视图的didInsertElement中获取,ember.js,ember-data,Ember.js,Ember Data,我试图使用jquery拖放,我想在我的视图中使用一些余烬工具,但我做不到 App.myView = Ember.View.extend({ tagName:'li', didInsertElement:function(){ this.$().draggable({ start:function(event,ui){ console.log(this.get('tagName')); } }); } }); 但我有一个错误: Uncaught TypeE

我试图使用jquery拖放,我想在我的视图中使用一些余烬工具,但我做不到

App.myView = Ember.View.extend({
tagName:'li',
didInsertElement:function(){
    this.$().draggable({
    start:function(event,ui){
    console.log(this.get('tagName'));
    } 
  });
 }
});
但我有一个错误:

Uncaught TypeError: Object #<HTMLLIElement> has no method 'get' 
uncaughttypeerror:对象#没有方法“get”

我可以在jquery部分的didInsertElement中使用get/set或其他方法吗?

这个可拖动的初始化对象内部的
不再引用视图,因此您应该首先将这个存储在一个局部变量中,比如
self
,以便以后可以使用它,请尝试以下操作:

App.myView = Ember.View.extend({
  tagName:'li',
  didInsertElement:function(){
    var self = this;
    this.$().draggable({
      start:function(event,ui){
        console.log(self.get('tagName'));
      } 
    });
  }
});

希望有帮助。

jQuery可拖动初始化对象中的此
不再引用视图,因此您应该首先将此存储在一个局部变量中,如
self
,以便以后可以使用,请尝试以下操作:

App.myView = Ember.View.extend({
  tagName:'li',
  didInsertElement:function(){
    var self = this;
    this.$().draggable({
      start:function(event,ui){
        console.log(self.get('tagName'));
      } 
    });
  }
});
希望能有帮助