为了账号安全,请及时绑定邮箱和手机立即绑定

将一个对象从一个 ng-repeat 拖放到另一个 ng-repeat

将一个对象从一个 ng-repeat 拖放到另一个 ng-repeat

慕沐林林 2023-12-25 16:32:14
我正在制作 trello 类型的应用程序,具有编辑、删除、添加等功能,但我无法将对象从一个 ng-repeat 拖放到另一个,请不要标记重复,我是 Angular JS 的新手,我是能够拖动它但无法在我的数组中更新它超文本标记语言<div class="header">    <button type="button" ng-click="openTaskDialog()" class="btn btn-primary">ADD/EDIT TASK</button></div><div class="taskProgressHeader">    <div class="tasksProgress">        <div class="taskHeading">            <h1>PENDING</h1>        </div>        <div class="pending" draggable="true" ng-repeat="taskNo in pending">            <h6>{{taskNo.taskTitle}}</h6>            <h6>{{taskNo.description}}</h6>            <h6>{{taskNo.process}}</h6>            <img class="taskEdit" ng-click="openTaskDialog($index,'pending')" ng-src="images/edit.png">            <img class="taskEdit" ng-click="deleteTask($index,'pending')" ng-src="images/delete.png">        </div>    </div>    <div class="tasksProgress">        <div class="taskHeading">            <h1>IN PROCESS</h1>        </div>        <div class="inProcess" droppable="true" ng-repeat="taskNo in inProcess">            <h6>{{taskNo.taskTitle}}</h6>            <h6>{{taskNo.description}}</h6>            <h6>{{taskNo.process}}</h6>            <img class="taskEdit" ng-click="openTaskDialog($index,'inProcess')" ng-src="images/edit.png">            <img class="taskEdit" ng-click="deleteTask($index,'inProcess')" ng-src="images/delete.png">        </div>    </div>    <div class="tasksProgress">        <div class="taskHeading">            <h1>COMPLETED</h1>        </div>        <div class="completed" ng-repeat="taskNo in completed">            <h6>{{taskNo.taskTitle}}</h6>            <h6>{{taskNo.description}}</h6>            <h6>{{taskNo.process}}</h6>        </div>    </div></div>我想将对象从挂起数组拖动到 inProcess 数组,将 inProcess 数组拖到 Completed 数组,当我将对象从挂起数组拖动并移动到 inProcess 数组时,拖动的对象应该从挂起数组中删除并推送到 inProcess 数组,依此类推数组到完整数组
查看完整描述

1 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您需要附加指令或函数才能在删除后获取数据。请检查这个例子。


超文本标记语言


<div id="div1" drop-on-me>

  <img src="https://www.w3schools.com/html/img_w3slogo.gif" drag-me  id="drag1" width="88" height="31">

</div>


<div id="div2" drop-on-me></div>

JS


angular

  .module('myApp', []);


angular

  .module('myApp')

  .directive('dragMe', dragMe)

  .directive('dropOnMe', dropOnMe);


dragMe.$inject = [];


function dragMe() {

  var DDO = {

    restrict: 'A',

    link: function(scope, element, attrs) {

      element.prop('draggable', true);

      element.on('dragstart', function(event) {

        event.dataTransfer.setData('text', event.target.id)

      });

    }

  };

  return DDO;

}

dropOnMe.$inject = [];

function dropOnMe() {

  var DDO = {

    restrict: 'A',

    link: function(scope, element, attrs) {

      element.on('dragover', function(event) {

        event.preventDefault();

      });

      element.on('drop', function(event) {

        event.preventDefault();

        var data = event.dataTransfer.getData("text");

        event.target.appendChild(document.getElementById(data));

      });

    }

  };

  return DDO;

}

CSS


#div1,

#div2 {

  float: left;

  width: 100px;

  height: 35px;

  margin: 10px;

  padding: 10px;

  border: 1px solid black;

}


查看完整回答
反对 回复 2023-12-25
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信