【问题标题】:Changing model values when dragging using angular dragular使用角度拖动时更改模型值
【发布时间】:2015-10-08 16:20:25
【问题描述】:

我正在使用dragula 以及它的后续dragular 进行示例项目。

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

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

【问题讨论】:

    标签: javascript angularjs dragula


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      HTML sn-p:

      <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';
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-02
        相关资源
        最近更新 更多