Check scope of element in Angular JS

本文详细介绍了在Angular应用中使用debug模式时如何选择元素并调用其作用域的方法,通过Angular.element()与.callAngularElement().scope()实现对特定元素内部作用域的直接操作,提供了一种高效解决问题的途径。
step 1) choose an element in debug mode
step 2) call angular.element($0).scope()
<div id="treeview" style="display: none;position: absolute; height: 250px; overflow-y: auto; width: -webkit-fill-available;width:-moz-available; margin-right: 40px; z-index: 999; border: 1px solid rgb(102, 175, 233); background-color: white;">为html js为$scope.selectTreeUser = function(e){ var options = { bootstrap2 : false, showTags : true, levels : 5, showCheckbox : true, checkedIcon : "glyphicon glyphicon-check", collapseIcon : "glyphicon glyphicon-minus", emptyIcon : "glyphicon", multiSelect : false, checkbarType : "all", uncheckedIcon : "glyphicon glyphicon-unchecked", data : buildDomTree(userList), onStatusChanged : function(data) { console.log(1231312,data); if (data.type == "user") { $scope.assignment.assignee = data.text; $scope.assignment.assigneeId = data.id; $scope.assignment.dept = false; $scope.$apply(); angular.element("#treeview").hide(); } else { angular.element('.alert').html('请选择具体人员').addClass('alert-success').show().delay(1500).fadeOut(); } window.event? window.event.cancelBubble = true : e.stopPropagation(); }, onClearAll : function(){ $scope.assignment.assignee = ""; $scope.assignment.assigneeId = ""; $scope.assignment.dept = false; $scope.$apply(); window.event? window.event.cancelBubble = true : e.stopPropagation(); } }; angular.element('#treeview').treeview(options); let ids = $scope.assignment.assigneeId; let dept = $scope.assignment.dept; if(ids){ // let nodeId = ids.split(','); // const hasMatch = userList.some(obj => obj.value === ids) // // 防止用户被删除 回选异常 // if(hasMatch){ // 下面四行是为了设置:点击之后回选 该需要在源码bootstrap-treeview.js 149行添加代码findNodes: $.proxy(this.findNodes,this) var node = angular.element('#treeview').treeview('findNodes', ['^' + ids + '$', 'g', 'id']); if (!node || !node.length) { return; } if(dept){ angular.element('#treeview').treeview('checkNode', node); }else{ angular.element('#treeview').treeview('uncheckNode', node); } // }else{ // $scope.assignment.assignee =""; // $scope.assignment.assigneeId =""; // } } angular.element('#treeview').show() angular.element('#treeviewUsers').hide() angular.element('#treeviewRoles').hide() angular.element('#treeviewwg').hide() window.event? window.event.cancelBubble = true : e.stopPropagation(); }; 组织数据过大超过20000条,选择时卡顿,如果处理渲染下拉树
08-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值