0

我正在尝试使用 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 部分的 didInsertElement 中使用 get/set 或其他方法吗?

4

1 回答 1

5

thisjQuery 可拖动初始化对象内部不再引用视图,因此您应该首先将其存储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'));
      } 
    });
  }
});

希望能帮助到你。

于 2013-09-18T05:45:03.557 回答