访问方法如get in didInsertElement视图

时间:2013-09-18 05:28:51

标签: ember.js ember-data

我试图使用jquery拖放,我想在我的视图中使用一些ember工具,但我不能。

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' 

我可以在jquery部分使用do / set或其他方法吗?

1 个答案:

答案 0 :(得分:5)

jQuery draggable初始化对象中的

this不再引用该视图,因此您应该首先将this存储在self这样的局部变量中,以便以后可以使用它,试试这个:

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

希望它有所帮助。