使用角度拖动拖动时更改模型值

时间:2015-10-08 16:20:26

标签: javascript angularjs dragula

我正在研究使用dragula的示例项目以及它的后继者。

我对此用法有疑问。我用这个项目以角度实现拖放。我的问题是: - 我使用对象列表作为我的模型,我使用ng-repeat在div中设置。当我拖动另一个div的项目时,是否可以更改/修改我拖动的对象的某些属性?

我尝试了获取移动物体的模型,但失败了。希望有人找到解决方案。

2 个答案:

答案 0 :(得分:0)

在dragular中,您可以通过服务'dragularService.shared.mirror'访问镜像DOM元素并更改您想要的任何内容。

编辑:我注意到你提到修改被拖动的对象,你也可以通过服务访问它:'dragularService.shared.sourceModel'

答案 1 :(得分:0)

我遇到了类似的问题,并通过在HTML元素上设置模型对象的id并通过此ID访问它来解决它。

HTML片段:

<div id="{{ user.id }}" ng-repeat="user in users">{{user.name}}</div>

在控制器中,我使用id:

查找项目
$scope.$on('bag.drop', function (e, el, target, source) {
    //getById is a function you implement (unless you already have it)
    var userBeingDropped = users.getById(el.attr('id'));

    //Change the model object
    userBeingDropped.name = 'My new username';
});