在进行Angular开发中,经常会用到ng-repeat,需要对后端返回的数据进行遍历筛选;而在遍历的过程中,又要对应的对DOM元素进行一些操作,下面为本人工作遇到的一些问题以及解决方法的记录和整理。
先上图 (view)
<div ng-repeat="r in role track by $index" class="liEdit"> <div class="liEditLft"> <div class="dropMenu dropdown "> <button data-toggle="dropdown" class="btn action dropdown-toggle"><span class="btnCon">{{r.roleName}}</span><span class="bg"></span></button> <div class=" dropdown-menu" ng-init="p_index=$index"> <li ng-repeat="br in baseRoles" ng-click="$parent.r=br">{{br.roleName}}</li> </div> </div> </div> <div class="liEditRit" ng-click="deleteRole($index)"></div> </div>
(controller)
// delete role $scope.deleteRole=function(index){ $scope.role.splice(index,1); };
ng-repeat 删除操作
通过传入下标index,实现对数组role中的元素删除,利用Angular的数据实时通信
ng-repeat 赋值
(此处本人纠结了半天,发现Angular中只能对象整体赋值,不能把对象中某一个值进行赋值传递;)
ng-repeat中每一项为独立作用域,不存在继承关系,所以通过$parent取到父级中的r,然后把br赋值给r