先来看看具体效果:
实现方法:
1。下载并引入angularjs
2. html代码:
& lt; !DOCTYPE html> & lt; html lang=癳n”ng-app=安馐浴北? & lt; head> & lt;元charset=皍tf - 8”比; & lt; title> Html5拖拽行为和AngularJs的结合& lt;/title> & lt;元charset=" utf - 8 "/比; & lt;脚本type=" text/javascript " src=" https://www.yisu.com/zixun/js/angular.js "祝辞& lt;/script> & lt; style> .to-drag .drag-stop { 显示:inline-block; } & lt;/style> & lt;/head> & lt;身体ng-controller=爸饕北? & lt; div类="拖"比; & lt; ul> & lt;李ng-repeat="项列表。数据”ng-include="。/lefttree.html”祝辞& lt;/li> & lt;/ul> & lt;/div> & lt; div类=癲rag-stop”比; & lt; ul> 在rightList & lt;李ng-repeat="项目。数据”ng-include="。/righttree.html”祝辞& lt;/li> & lt;/ul> & lt;/div> & lt;/body> & lt;/html>js 3.
& lt;脚本type=" text/javascript祝辞 让mod=角。模块(“测试”,[]); mod.controller(“主要”,[美元范围,函数(范围美元){ 美元的范围。={列表 数据:[{ id: 1、 名称:“22”, 孩子:[{ id:“1”, 名称:“1-1_name左” }, { id:“1 - 2”, 名称:“1-2_name左” }) }), dragstart:函数(项){ 美元的范围。来自clientInfo=项目; } } 美元的范围。rightList={ 数据:[{ id: 1、 名称:“停止拖动”, 孩子:[{ id:“1”, 名称:“1-1_name右” }, { id:“1 - 2”, 名称:“1-2_name右” }) }), 下降:函数(事件,项目){ event.preventDefault (); console.log(“被拖动的元素:→”,scope.clientInfo美元); console.log(“当前节点:→”项);//调用后端添加接口,实现真实的添加。 }, dragover:函数(事件){ event.preventDefault (); } } })); var convertFirstUpperCase=函数(str) { 返回str.replace (/(\ w)、功能(s) { 返回s.toUpperCase (); }); }; rubyDragEventDirectives={}; 角。forEach (“dragstart拖dragenter dragover dragleave拖动结束”。分割(' ')函数(eventName) { var rubyEventName=皉uby”+ convertFirstUpperCase (eventName); rubyDragEventDirectives [rubyEventName]=[美元解析,函数(解析美元){//解析美元语句解析器 返回{ 限制:' A ', 编译:函数(避署,attr) { var fn=$解析(attr (rubyEventName)); 返回函数rubyEventHandler(范围、避署){ 避署[0]。addEventListener (eventName函数(事件){ 如果(eventName==癲ragover”| | eventName==跋陆怠?{ event.preventDefault (); } var调=function () { fn(范围、{事件:事件}); }; 回调(); }); } } } }) }); mod.directive (rubyDragEventDirectives); & lt;/script>
希望可以对大家有所帮助哦。好久都没写博客啦,嘻嘻最近变懒了,而且特别懒,哈哈哈哈,天热啦,大家多喝水哦,注意防暑。