我为验证指令编写了以下代码片段:
angular.module('authDirective',[]).directive('hiAccess', ['authService', function(authService){
return{
restrict: 'A',
compile: function(element, attr){
var userRole = authService.getUserRole();
var allowedAccess = attr.hiAccess.split(" ");
outerLoop: for(access in allowedAccess){
for(role in userRole){
if(access == role) {
/*angular.forEach(element.children(), function(child){
//child.remove();
});*/
element.remove();
break outerLoop;
}
}
}
}
}
}]);
但由于element.remove():
,我在浏览器中遇到以下错误TypeError:无法读取未定义
的属性'childNodes'
有什么建议吗?
答案 0 :(得分:0)
我在指令中使用了链接函数而不是编译,现在看起来工作正常。
答案 1 :(得分:0)
function removeElement(elem, wait) {
ripples.splice(ripples.indexOf(elem), 1);
if (ripples.length === 0) {
getRippleContainer().css({ backgroundColor: '' });
}
$timeout(function () {
elem.remove();
}, wait, false);
}