AngularJS - 指令自我删除/插入



我正在尝试创建一个指令来根据用户的权限控制DOM中的某些元素。在互联网上寻找,我找到了该元素的.remove()函数。它工作得很好。

但是,如果权限更改,我需要再次显示 DOM 元素。打电话给.remove()后我该怎么做?

这是我的代码:

ddo.link = function(scope, el, attrs){
// Validate the permission
if( currentUserService.isAllowed(scope.validatePermission) !== true) {
el.remove();
}
// Listener for changes
$rootScope.$on("eventName", function(event, param){
// Validate the permission
if( currentUserService.isAllowed(scope.validatePermission) !== true) {
el.remove();
} else {
// SHOW THE ELEMENT AGAIN!
}
});
};

或者,有没有另一种方法可以删除 de HTML 并再次插入?因为使用 CSS,用户可以通过开发人员控制台禁用...

提前感谢!

改为使用.remove()尝试使用.addClass().removeClass()添加一个带有display:none的类,并在必要时将其删除。 该方法.remove()删除显示元素,因此您无法再次显示此内容。

另一种选择是使用.css()但与其他处理速度相比,您的处理速度较慢

最新更新