Javascript 在AngularJS中放入$.draggable()后,如何从模型中删除?

Javascript 在AngularJS中放入$.draggable()后,如何从模型中删除?,javascript,jquery,jquery-ui,angularjs,Javascript,Jquery,Jquery Ui,Angularjs,我有两个AngularJS控制器,一个用户列表和一个垃圾区 其思想是,您可以将用户从列表拖动到垃圾桶,而列表控制器将该用户从其$scope.users阵列模型中删除 我非常接近,我只是不知道如何发送user对象以从$scope.users[]中删除 我这里有一个正在工作的JSBin:(出于某种原因,当我的浏览器是1920x1080时,它不工作;如果你把浏览器缩小一点,它应该可以工作..奇怪) 如您所见,它调用了list.deleteMe()函数,但我不知道如何发送要删除的对象。我试着使用ngV

我有两个AngularJS控制器,一个用户列表和一个垃圾区

其思想是,您可以将用户从
列表
拖动到
垃圾桶
,而
列表
控制器将该用户从其
$scope.users
阵列模型中删除

我非常接近,我只是不知道如何发送
user
对象以从
$scope.users[]
中删除

我这里有一个正在工作的JSBin:(出于某种原因,当我的浏览器是1920x1080时,它不工作;如果你把浏览器缩小一点,它应该可以工作..奇怪)

如您所见,它调用了
list.deleteMe()
函数,但我不知道如何发送要删除的对象。我试着使用
ngValue
,但似乎没有什么效果

有人知道如何解决这个问题吗


提前谢谢

我最后做的就是发回
user.user\u id
并搜索具有相同
id
user
对象。这似乎有点低效;我希望只发送一个对
User
对象的引用,并将其从数组中删除


如果有人知道怎么做,我会接受他们的答案,而不是我自己的答案。

我最终做的只是发回
用户。用户id
,并搜索具有相同
id
用户
对象。这似乎有点低效;我希望只发送一个对
User
对象的引用,并将其从数组中删除


如果有人知道怎么做,我会接受他们的答案,而不是我自己的答案。

我最终做的只是发回
用户。用户id
,并搜索具有相同
id
用户
对象。这似乎有点低效;我希望只发送一个对
User
对象的引用,并将其从数组中删除


如果有人知道怎么做,我会接受他们的答案,而不是我自己的答案。

我最终做的只是发回
用户。用户id
,并搜索具有相同
id
用户
对象。这似乎有点低效;我希望只发送一个对
User
对象的引用,并将其从数组中删除


如果有人对此有想法,我会接受他们的答案,而不是我自己的答案。

因为您使用的是jqueryUI,所以可以利用
drop
事件

element.droppable({
  //...
  drop: function(event, ui) {
     // handle the drop
  }
  //...
});
一种方法是使用
ui
参数的
draggable
属性,这不一定是最好的方法

drop: function(event, ui) {
  // this is how you get an angular scope from an element
  var friendScope = angular.element(ui.draggable).scope()
  // now, friendScope.friend is the friend you want to delete
}
问题是,你开始真正纠结在一起,但这会让你摆脱眼前的困境

这是您的,经过重构,可以使用
Friends
服务和
Trash
服务,并使用这种方法


最好将拖放功能包装在自己的模块中,并公开一些用于使用它的指令API。谷歌对“角度拖放”的快速搜索产生了很多功能。由于您使用的是jqueryUI,因此可以利用
拖放事件

element.droppable({
  //...
  drop: function(event, ui) {
     // handle the drop
  }
  //...
});
一种方法是使用
ui
参数的
draggable
属性,这不一定是最好的方法

drop: function(event, ui) {
  // this is how you get an angular scope from an element
  var friendScope = angular.element(ui.draggable).scope()
  // now, friendScope.friend is the friend you want to delete
}
问题是,你开始真正纠结在一起,但这会让你摆脱眼前的困境

这是您的,经过重构,可以使用
Friends
服务和
Trash
服务,并使用这种方法


最好将拖放功能包装在自己的模块中,并公开一些用于使用它的指令API。谷歌对“角度拖放”的快速搜索产生了很多功能。由于您使用的是jqueryUI,因此可以利用
拖放事件

element.droppable({
  //...
  drop: function(event, ui) {
     // handle the drop
  }
  //...
});
一种方法是使用
ui
参数的
draggable
属性,这不一定是最好的方法

drop: function(event, ui) {
  // this is how you get an angular scope from an element
  var friendScope = angular.element(ui.draggable).scope()
  // now, friendScope.friend is the friend you want to delete
}
问题是,你开始真正纠结在一起,但这会让你摆脱眼前的困境

这是您的,经过重构,可以使用
Friends
服务和
Trash
服务,并使用这种方法


最好将拖放功能包装在自己的模块中,并公开一些用于使用它的指令API。谷歌对“角度拖放”的快速搜索产生了很多功能。由于您使用的是jqueryUI,因此可以利用
拖放事件

element.droppable({
  //...
  drop: function(event, ui) {
     // handle the drop
  }
  //...
});
一种方法是使用
ui
参数的
draggable
属性,这不一定是最好的方法

drop: function(event, ui) {
  // this is how you get an angular scope from an element
  var friendScope = angular.element(ui.draggable).scope()
  // now, friendScope.friend is the friend you want to delete
}
问题是,你开始真正纠结在一起,但这会让你摆脱眼前的困境

这是您的,经过重构,可以使用
Friends
服务和
Trash
服务,并使用这种方法


最好将拖放功能包装在自己的模块中,并公开一些用于使用它的指令API。在谷歌上快速搜索“角度拖放”就可以实现这一点。

非常感谢;那很好用。您有没有理由编写
服务
指令
angular.module()
函数串在一起,而不是像我以前那样作为单独的函数拆分出来?我经常看到这种书写方式,我想知道它有多标准。另外,感谢您向我展示了
angular.element.scope()
函数,这似乎非常有用。无论哪种方式,我都会研究你的jsbin,并以此方式重构我的项目。谢谢你的时间和高质量的回复。如果我真的想重组的话